日期:2014-05-17  浏览次数:21207 次

巨头晕的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)

------解决方案--------------------
.....