Tag: sql

在SQL Server中保存浮点值

我有一个简单的Web应用程序,并希望在SQL服务器中保存一些Float或Double格式。 但是有一个问题,当我尝试保存123.66时,在表中我看到123.6600003662109存储了。 保存在DB上时,为什么我的浮点数改变了? 我该如何解决这个错误? 谢谢

参数化动态sql查询

我有一个关键字列表,我存储在列表中。 要从表中获取记录,请使用以下查询: sqlBuilder.Append(“SELECT name, memberid FROM members WHERE”); StringBuilder sqlBuilder = new StringBuilder(); foreach (string item in keywords) { sqlBuilder.AppendFormat(” LOWER(Name) LIKE ‘%{0}%’ AND”, item); } string sql = sqlBuilder.ToString(); 您可能已经注意到,我的查询容易受到sql注入,因此我想使用SqlCommand()来使用参数。 我尝试了以下但仍然无法正常工作: foreach (string item in keywords) { sqlBuilder.AppendFormat(” LOWER(Name) LIKE ‘%’ + @searchitem + ‘%’ AND”, item); SqlCommand cmd = new SqlCommand(sqlBuilder.ToString()); cmd.Parameters.AddWithValue(“@searchitem”,item); } […]

执行SQL查询时显示进度条

我想在从SQL数据库中读取数据时通知用户,我决定创建一个带有进度条的表单,但它不起作用 – 可能是因为需要一个线程。 我想以编程方式创建表单 ProgressBar pb = new ProgressBar(); pb.MarqueeAnimationSpeed = 30; pb.Style = ProgressBarStyle.Marquee; pb.Dock = DockStyle.Fill; progressForm.ClientSize = new Size(200, 50); progressForm.FormBorderStyle = FormBorderStyle.FixedDialog; progressForm.StartPosition = FormStartPosition.CenterScreen; progressForm.Controls.Add(pb); progressForm.ControlBox = false; progressForm.TopMost = true; progressForm.Show(); //do data processes here (all queries and executes) progressForm.close(); 如何修改上面的代码以实现我的既定目标? 编辑:顺便说一下,我想在项目的每个数据函数中使用这个进度条表单。 例如:fillGrid,runQuery .. @Will非常感谢你的回答。 我的意思是我如何使用类的函数,例如我的gridFill函数在该连接类中: class ConnectionClass { […]

Linq to SQL多条件where子句

目前我正在检索我的结果如下: public List GetClaims() { return _db.claims.OrderBy(cl => cl.claimId).ToList(); } 但是现在我想在listview上面添加基于filter的8个条件where子句。 所以我变成了: public List GetFilteredClaims(string submissionId, string claimId, string organization, string status, string filterFromDate, string filterToDate, string region, string approver) { return _db.claims.Where(cl => cl.submissionId == 5).ToList(); } 如何检查每个filter以仅在包含值时添加where子句?

在SQL Server中使用GO关键字

我知道使用GO关键字。 它将多个语句作为整个组发送到sql server,而不是逐个发送每个语句。 我希望我是对的! 但我想知道程序员在实际应用程序中使用它。 就像我们创建一个存储过程,然后它也做同样的事情,它也编译代码并制定执行计划,并将整个组发送到服务器。 那么我们是否需要在数据库对象的编码中指定GO关键字,例如触发器,视图和存储过程?

C# – SQLClient – 最简单的INSERT

我基本上试图找出使用SqlClient命名空间在C#.NET中执行基本插入操作的最简单方法。 我正在使用SqlConnection作为我的数据库链接,我已经成功执行了一些读取,我想知道插入数据的最简单方法。 当我谷歌时,我发现了一些看似相当冗长的方法。

Linq – 从DateTime中选择日期

我有一个Linq结果,我需要从DateTime选择Date 。 我的查询是这样的: var UserTemplates = (from xx in VDC.SURVEY_TEMPLATE where xx.USER_ID == userid && xx.IS_ACTIVE == 1 select new { xx.TEMPLATE_ID, xx.TEMPLATE_NAME, //CREATED_DATE = xx.CREATED_DATE.Value.Date //CREATED_DATE = EntityFunctions.TruncateTime(xx.CREATED_DATE) xx.CREATED_DATE }).ToList(); 那可能吗? 任何帮助将不胜感激。 CREATED_DATE – `datetime` datatype 实际上,我将它绑定到Control作为DataSource ,控件显示Date and Time 。但我想只显示date 。 当我尝试使用CREATED_DATE = xx.CREATED_DATE.Value.Date ,它会给出如下错误: LINQ to Entities不支持指定的类型成员“Date”。 仅支持初始化程序,实体成员和实体导航属性。

执行该命令需要一个开放且可用的连接。 连接的当前状态被破坏。

在qa中使用一些后,我们得到以下错误 Execution of the command requires an open and available connection. The connection’s current state is broken. 我们正在使用EntityFramework的单例实例 SOF建议: 服务器关闭导致无效操作exception的EF恢复 1)偶尔创建一个新的ContectObject实例 2)配置池连接数更高 解决这个问题的最佳做法是什么? 我认为为每个Dal操作创建一个新的contectObject是浪费的

如何在C#中调用SQL函数?

我在SQL中创建了一个函数,现在我需要在我的C#应用​​程序中使用该函数。 我尝试使用这样的东西,但似乎我做错了,因为我得到了: Must declare the scalar value ‘@2064734117’ …当我将2064734117作为第一个参数并将1作为第二个参数时。 这是我正在谈论的代码: SqlConnection con = new SqlConnection(clsDb.connectionString); string query = string.Format(“select Function1(@{0},@{1}) “, int.Parse(e.CurrentRow.Cells[“CodeMeli”].Value.ToString()),1); con.Open(); SqlCommand cmd = new SqlCommand(query,con); SqlDataAdapter READER = new SqlDataAdapter(); READER.SelectCommand = cmd; DataTable table = new DataTable(); READER.Fill(table); radGridView1.DataSource = table; con.Close(); 我的函数接受两个整数参数并返回一个表。 我在Visual Studio中检查了它并且它有效,但我无法在我的应用程序中使用它。 这是我的function声明: ALTER FUNCTION dbo.Function1 ( /* […]

在表中插入数据之前,是否可以获取Id(IDENTITY)的新值?

在表中插入数据之前,是否可以获取Id(IDENTITY)的新值? 有可能写出类似的东西: INSERT INTO Table1 SELECT *GET_NEW_IDENTITY*, Field1, Field2 FROM Table2 我需要Id的值,因为我想在Table1中插入数据,然后, 在另一个表中插入数据,该表具有链接到Table1的外键 (带有Id)