初学,遇到这个问题,我也不知道怎么描述,各位麻烦看看了

musicfree_uibe 2004-01-20 09:12:26
private void GetDetailsByID(int ID, out string name,out decimal price)
{
SqlConnection conn = this.GetConn();
SqlCommand cmd = new SqlCommand("DATGetProductDetailsReader",conn);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter para1 = cmd.Parameters.Add("@ProductID",ID);
para1.Direction = ParameterDirection.Input;
conn.Open();
using(SqlDataReader reader = cmd.ExecuteReader())
{
if(reader.Read())
{
name = reader.GetString(0);
price = reader.GetDecimal(1);
}
}
conn.Close();
}

调试出错:
1,控制离开当前方法之前必须对输出参数“name”赋值
2,控制离开当前方法之前必须对输出参数“price”赋值
------------------------------------------------------
请问什么问题呢?
...全文
39 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
musicfree_uibe 2004-01-20
  • 打赏
  • 举报
回复
ok!thanks
给分!!!
huangsuipeng 2004-01-20
  • 打赏
  • 举报
回复
在处理前先赋特殊初值,如果查询失败也可以让你知道
niwalker 2004-01-20
  • 打赏
  • 举报
回复
你除了在if语句中为name和price赋值之外,还需要在if外面为这两个参数赋值,试想在你的代码中如果reader.Read()是false,那么name和price的值是什么?

110,539

社区成员

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

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

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