首页 > Asp.net开发 > DataReader没有Close之前与Output参数的问题

DataReader没有Close之前与Output参数的问题

前天在代码里遇到的bug,代码如下:

 

[csharp]
  1. var para = new SqlParameter("@re", SqlDbType.DateTime) { Direction = ParameterDirection.Output };
  2. using (var con = new SqlConnection(constr))
  3. using(var commadn = con.CreateCommand())
  4. {
  5.     commadn.CommandText = "select top 11 * from softs;select @re = getdate() ";
  6.     con.Open();
  7.     commadn.Parameters.Add(para);
  8.     using(var reader = commadn.ExecuteReader())
  9.     {
  10.         MessageBox.Show(Convert.ToString(para.Value));
  11.     }
  12.     MessageBox.Show(Convert.ToString(para.Value));
  13. }

可以看到,在Reader.Close()之前,弹出的是空,也就是说,如果要获取Output的参数值,最好在关闭Reader之后去获取。


本文固定链接: http://www.devba.com/index.php/archives/888.html | 开发吧

报歉!评论已关闭.