C# dbparameter几点需要注意的地方

   1.即使 数据库中那些可为空的字段有参数来执行插入或者修改时,都要保证参数value的不可为null,为null的时候会提示not all aviariables bound,但可以为“”(空字符串)

例如Oracle中有一表t,t中有一字段varchar2(10)的字段c1 

  取某一文本框TextBox1的值插入字段

  比如insert into t values(:p1)

  OracleParameter op=new OracleParameter("p1",TextBox1.text);这种不会出错 因为textbox会取空字符串而不是null

  但如果取null值作为参数的value则会出错 (事实上程序中引用不存在的变量都会出错) 出错提示为 not all aviariables bound~(出现这种错误的情况很多,未被初始化啊)

  如 一个引用了一个未被初始化的类的属性

  OracleParameter op=new OracleParameter("p1",SomeClass.XX)其中 XX未被初始化

    2.错误的变量名: sql语句中声明的变量没有在参数列表中找到相应的绑定项

    3.not all aviariables bound 此错误是因为有多余的变量未被绑定。sql语句中没有或者拼写错误,而绑定的变量中有

     

posted @ 2009-06-09 15:05  fool  阅读(2564)  评论(0编辑  收藏  举报