①插入记录时要注意先后顺序,否则会出现主外键等问题而导致不能插入。
②先声明后使用,声明model之后,要先给model赋值,之后再调用以model为参数的实例。
③Timestamp是数据库自己生成的变量值,在数据库插入时,不用自己插入。
④textbox的空不为null,为"";为了减少错误,一般我们应该令textbox.text==null||textbox.text="";
网上例子:
我的存储过程参数是
'12345 ', '5241 '
这样我在存储过程里要这样用它
where id in(@NaicsId)
结果用查询分析器发现发往数据库的sql语句把 '都变成了 ' '
所以导致很多问题。就像下面这样。
exec usp_selectAgencyCertificate
@selNaics= ' ' '424320 ' ', ' '315212 ' ', ' '112990 ' ', ' '722213 ' ', ' '334611 ' ', ' '238330 ' ', ' '236116 ' ', ' '333131 ' ', ' '711510 ' ', ' '313221 ' ', ' '221111 ' ' ',
分析如下:
这个很正常我们传入的变量和字符常量带有无论有没有单引号,SQL都会为本身加上一对单引号。因为该例子中我们传入的参数应该不带单引号。就像 "1 and fshopid in (1050) and kindname in ('中厨','砂锅')";我要传入的是"' 1 and fshopid in (1050) and kindname in (''中厨'',''砂锅'') '"这个字符串中带色彩的部分,""只是代表字符串(强调一下),对于传入的该变量string
str应该如下,str="1 and fshopid in (1050) and kindname in ('中厨','砂锅')";