①插入记录时要注意先后顺序,否则会出现主外键等问题而导致不能插入。
②先声明后使用,声明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 (\'中厨\',\'砂锅\')";