![](/img/trans.png)
[英]Insert query exception “No value given for one or more required parameters”
[英]SQL Query result: no value given for one or more required parameters
这是我的SQL查询
string SqlStr = string.Format("
insert into Sales(date_,tsale,order_id,quant,crd_typ,client_id)
values(#{0}#,'{1}','{2}','{3}',{4},{5})", s.Date,s.Tsale,s.OrderId, s.Quant, s.CrdTyp, s.ClientId);
在WinForm中,date_是DateTime,crd_typ是字符串,其余均为int。
在Access date_中是Data / Time,crd_typ是string,其余均为int。
(int访问order_id是关键)出了什么问题?
首先,您不应使用String.Format
构造查询,而应使用参数化查询来防止SQL注入。
对于您的问题:
您说您的数据表中有一个DateTime
和一个String
。 但是,您的查询具有一个DateTime
和三个String
参数。 因此,至少有两个int
值作为String
给出。 可能是个问题。 您可以通过使用参数化查询来解决此问题。
第二种可能是,您的字符串可能包含'
字符。 因此,您的查询解析可能会在查询完成之前停止。 您可以使用参数化查询来防止这种情况。
您会看到,您确实应该使用参数化查询。 许多问题将以这种方式解决。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.