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;
}
3 回答

暮色呼如
TA贡献1587条经验 获得超9个赞
paramData = new SqlParameter("("@count", SqlDbType.Image);
//此处SqlDbType.Image也可能是SqlDbType.VarChar,SqlDbType.Char等,具体看你的字段类型
paramData.Value = bytParamCont;
//bytParamCont为存储过程中取到的值ParameterDirection.Output
sqlCommand.Parameters.Add(paramData);

慕后森
TA贡献1547条经验 获得超5个赞
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();
添加回答
举报
0/150
提交
取消