首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

巨头晕的ADO有关问题,难道是MS说话不算数?请高手过来看一看ADO传参数的有关问题.在线急等

2012-02-14 
巨头晕的ADO问题,难道是MS说话不算数?请高手过来看一看ADO传参数的问题...在线急等!转.NET两年了,最近一个

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

[解决办法]
.....

热点排行