必须声明标量变量 "@TaskSend"。

lude8880 2010-04-28 05:24:56
            string commandName = "Pr_Plan_TaskSend_GetTaskTypeCodeFromTaskSendID";
#region Parameters
SqlParameter[] parms = SqlHelperParameterCache.GetCachedParameterSet(ConnectionString.OmsRead, commandName);
if (parms == null)
{
parms = new SqlParameter[] {
new SqlParameter("@TaskSendID", SqlDbType.Int),
new SqlParameter("@TaskTypeCode", SqlDbType.VarChar,10)

};
parms[0].Value = TaskSendID;
parms[1].Direction = ParameterDirection.Output;
parms[1].Value = "";
SqlHelperParameterCache.CacheParameterSet(ConnectionString.OmsRead, commandName, parms);
}


#endregion
using (SqlDataReader dataReader = SqlHelper.ExecuteReader(ConnectionString.OmsRead, CommandType.StoredProcedure, commandName, parms)) ///这句报的错


ALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetTaskTypeCodeFromTaskSendID]
(@TaskSendID int, @TaskTypeCode VARCHAR(4) output)


...全文
170 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lude8880 2010-04-30
  • 打赏
  • 举报
回复
return dataReader.IsDBNull(0) ? "" : dataReader.GetString(1).ToString();
return parms[1].Value.ToString(0;
因为是out变量,所以datareader.read=false
lude8880 2010-04-29
  • 打赏
  • 举报
回复
搞定了,现在很忙,有时间把结果发上来
SQL77 2010-04-28
  • 打赏
  • 举报
回复
ALTER PROCEDURE [dbo].[Pr_Plan_TaskSend_GetTaskTypeCodeFromTaskSendID]
(@TaskSendID int, @TaskTypeCode VARCHAR(4) output)

@TaskSend

你哪来的这个参数?
lyc120 2010-04-28
  • 打赏
  • 举报
回复
调用的存储过程中有一个名为@TaskSend的参数,执行前并未对其进行设置
myrroom 2010-04-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lude8880 的回复:]
是存储过程的问题,现在新问题:

C# code
using (SqlDataReader dataReader = SqlHelper.ExecuteReader(ConnectionString.OmsRead, CommandType.StoredProcedure, commandName, parms))
{
……
[/Quote]
不明白你这是什么意思?
mayonglong 2010-04-28
  • 打赏
  • 举报
回复
看看存储过程是不是有什么问题~~
ILOVE_ASPNET 2010-04-28
  • 打赏
  • 举报
回复
看看过程有没有声明,再就是过程中的SQL语句是否有这个参数,最后看是否给这个参数赋值了。
wuyq11 2010-04-28
  • 打赏
  • 举报
回复
if(dataReader.HasRows)
{

}
sxiaohui8709253 2010-04-28
  • 打赏
  • 举报
回复
是不笔误 把方法的参数 顺序搞错了?
liuyileneal 2010-04-28
  • 打赏
  • 举报
回复
你是不是在存储过程中使用了@tasnkEnd但是没有声明
或者看看你是不是哪里笔误了写错了
卧_槽 2010-04-28
  • 打赏
  • 举报
回复
还是存储过程的问题
lude8880 2010-04-28
  • 打赏
  • 举报
回复
是存储过程的问题,现在新问题:
            using (SqlDataReader dataReader = SqlHelper.ExecuteReader(ConnectionString.OmsRead, CommandType.StoredProcedure, commandName, parms))
{
while (dataReader.Read()) //这行没被执行,虽然out变量已经取得正确的值了
{
return dataReader.IsDBNull(0) ? "" : dataReader.GetString(1).ToString();

}
}

return null;

waiwai1015 2010-04-28
  • 打赏
  • 举报
回复
不知道

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧