SqlParameter[] para这种参数数组形式如何写数据库中的output参数?
publicDataTableVoteItemsShow(stringID,outstringcount){SqlParameter[]para=newSqlParame...
public DataTable VoteItemsShow(string ID,out string count)
{
SqlParameter[] para = new SqlParameter[]{
new SqlParameter("@ID",ID),
new SqlParameter("@count",ParameterDirection.Output) //这个@count是存储过程中的输出参数,我右边的参数应该是写错了,,因为调用这个函数返回的是Output字符,而不是@count应该怎么写呢?
};
DataTable dt = sqlhelper.ExecuteQuery("procVoteItemsShow", para, CommandType.StoredProcedure,out count);
return dt;
}
这个是被调用的函数,SqlHelper
public DataTable ExecuteQuery(string cmdText, SqlParameter[] para, CommandType ct,out string count)
{
DataTable dt = new DataTable();
try
{
cmd = new SqlCommand(cmdText, GetConn());
cmd.Parameters.AddRange(para);
cmd.CommandType = ct;
SqlDataReader sdr = cmd.ExecuteReader();
count = cmd.Parameters["@count"].Value.ToString(); //这里接收@count的值可否?为什么这个count变量返回的是Output字符?,,,
dt.Load(sdr);
sdr.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open) conn.Close();
}
return dt;
}
使用一楼的方法后提示,,异常详细信息: System.InvalidOperationException: String[1]: Size 属性具有无效大小值 0。 展开
{
SqlParameter[] para = new SqlParameter[]{
new SqlParameter("@ID",ID),
new SqlParameter("@count",ParameterDirection.Output) //这个@count是存储过程中的输出参数,我右边的参数应该是写错了,,因为调用这个函数返回的是Output字符,而不是@count应该怎么写呢?
};
DataTable dt = sqlhelper.ExecuteQuery("procVoteItemsShow", para, CommandType.StoredProcedure,out count);
return dt;
}
这个是被调用的函数,SqlHelper
public DataTable ExecuteQuery(string cmdText, SqlParameter[] para, CommandType ct,out string count)
{
DataTable dt = new DataTable();
try
{
cmd = new SqlCommand(cmdText, GetConn());
cmd.Parameters.AddRange(para);
cmd.CommandType = ct;
SqlDataReader sdr = cmd.ExecuteReader();
count = cmd.Parameters["@count"].Value.ToString(); //这里接收@count的值可否?为什么这个count变量返回的是Output字符?,,,
dt.Load(sdr);
sdr.Close();
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open) conn.Close();
}
return dt;
}
使用一楼的方法后提示,,异常详细信息: System.InvalidOperationException: String[1]: Size 属性具有无效大小值 0。 展开
3个回答
展开全部
paramData = new SqlParameter("("@count", SqlDbType.Image);
//此处SqlDbType.Image也可能是SqlDbType.VarChar,SqlDbType.Char等,具体看你的字段类型
paramData.Value = bytParamCont;
//bytParamCont为存储过程中取到的值ParameterDirection.Output
sqlCommand.Parameters.Add(paramData);
//此处SqlDbType.Image也可能是SqlDbType.VarChar,SqlDbType.Char等,具体看你的字段类型
paramData.Value = bytParamCont;
//bytParamCont为存储过程中取到的值ParameterDirection.Output
sqlCommand.Parameters.Add(paramData);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SqlParameter[] para = new SqlParameter[]{
new SqlParameter("@ID",ID),
new SqlParameter("@count",SqlDbType.VarChar)
};
para[1].Direction = ParameterDirection.Output;
//执行完之后
count = para[1].Value as string;//或ToString();
new SqlParameter("@ID",ID),
new SqlParameter("@count",SqlDbType.VarChar)
};
para[1].Direction = ParameterDirection.Output;
//执行完之后
count = para[1].Value as string;//或ToString();
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询