首页新闻找找看学习计划

过程或函数 'VODCategoryDelete' 需要参数 '@ID',但未提供该参数。

0
悬赏园豆:5 [已解决问题] 解决于 2013-06-08 10:06

DbCommand comm = Conn.CreateCommand();

comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = "VODCategoryDelete";

DbParameter paramIn = comm.CreateParameter();
paramIn.ParameterName = "@ID";
paramIn.Value = id.Value;
paramIn.Direction = ParameterDirection.Input;
comm.Parameters.Add(paramIn);

DbParameter paramOut = comm.CreateParameter();
paramIn.ParameterName = "@Result";
paramIn.Direction = ParameterDirection.Output;
comm.Parameters.Add(paramOut);

comm.ExecuteNonQuery();

一品带刀侍卫的主页 一品带刀侍卫 | 菜鸟二级 | 园豆:222
提问于:2013-05-31 11:24
< >
分享
最佳答案
0

声明的参数名称是 paramOut ,赋值的时候用了 paramIn,导致参数被覆盖

收获园豆:5
木欣雨夕 | 菜鸟二级 |园豆:207 | 2013-06-08 10:00
其他回答(3)
0

id.value 的值是什么.?不会是空值吧.?

只会造轮子 | 园豆:2448 (老鸟四级) | 2013-05-31 12:07
0

Parameters使用的时候需要先实例化啊,这是地址引用,你第二次赋值,肯定就把第一次的参数给覆盖掉了,当然就找不到@ID了。

幻天芒 | 园豆:36544 (高人七级) | 2013-06-05 09:52

DbParameter paramOut = comm.CreateParameter();  这样不算是创建了一个新对象吗?那Dbparameter怎样创建一个新对象,请指教。

支持(0) 反对(0) 一品带刀侍卫 | 园豆:222 (菜鸟二级) | 2013-06-06 10:00

@一品带刀侍卫: 呵呵,不好意思,看掉了这句~哈哈~

支持(0) 反对(0) 幻天芒 | 园豆:36544 (高人七级) | 2013-06-06 12:01
0

DbParameter paramOut = comm.CreateParameter(); 
paramIn.ParameterName = "@Result";
paramIn.Direction = ParameterDirection.Output;
comm.Parameters.Add(paramOut);

comm.ExecuteNonQuery();

这块代码中,声明的参数名称是 paramOut ,赋值的时候却不小心用了 paramIn,导致参数被覆盖。唉,惭愧啊

一品带刀侍卫 | 园豆:222 (菜鸟二级) | 2013-06-06 10:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册