巨头晕的ADO问题,难道是MS说话不算数?请高手过来看一看ADO传参数的问题...在线急等!
转.NET两年了,最近一个项目需要用ASP开发.为解决注入问题,所以用了参数传值.
但是有些问题...
cmd.CommandText = "insert into tb_test(name,age) values(?,?) "
cmd.Parameters.Append = cmd.CreateParameter(,200,1,10, "Chris ")
cmd.Parameters.Append = cmd.CreateParameter(,200,1,10,23)
如果是这样就没错!
但是MS的文档里说了,CreateParameter的每一个参数都是Optional的.为什么
cmd.Parameters.Append = cmd.CreateParameter(,,,, "Chris ")
cmd.Parameters.Append = cmd.CreateParameter(,,,,23)
这样就出错呢?
ADODB.Parameters (0x800A0E7C)
不正常地定义参数对象。提供了不一致或不完整的信息。
这是MS的文档:http://msdn2.microsoft.com/en-us/library/ms677209.aspx
------解决方案--------------------因为你的SQL是insert 而且刚好数据库表中那几项不能为空
你换update 啥的试试。
------解决方案--------------------CreateParameter有参数吗?
------解决方案--------------------cmd.Parameters.Append 是方法,不是属性,所以不用 "= "
cmd.Parameters.Append cmd.CreateParameter(,,,, "Chris ")
cmd.Parameters.Append cmd.CreateParameter(,,,,23)
------解决方案--------------------.....