为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个count变量返回的是Output字符?

为什么这个count变量返回的是Output字符?

神不在的星期二 2023-01-03 19:15:48
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;}这个是被调用的函数,SqlHelperpublic 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贡献1853条经验 获得超9个赞

paramData = new SqlParameter("("@count", SqlDbType.Image);  
//此处SqlDbType.Image也可能是SqlDbType.VarChar,SqlDbType.Char等,具体看你的字段类型
paramData.Value = bytParamCont;  
//bytParamCont为存储过程中取到的值ParameterDirection.Output
sqlCommand.Parameters.Add(paramData);

查看完整回答
反对 回复 2023-01-06
?
慕后森

TA贡献1802条经验 获得超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();

查看完整回答
反对 回复 2023-01-06
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

设置参数的属性为ParameterDirection.Output,执行存贮过程后,就可以取到在存储过程中付给参数的值了

查看完整回答
反对 回复 2023-01-06
  • 3 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信