读书人

ASP.NET SqlDataReader从数据库中得到

发布时间: 2013-01-23 10:44:50 作者: rapoo

ASP.NET SqlDataReader从数据库中得到了多行数据,该怎么分别得到这些数据呀?
我用的NextResult()怎么总是只能得到一行数据呀?


SqlCommand Selectcmd = new SqlCommand("select PackageDetail_Info.Count,Project_Info.Price from PackageDetail_Info,Project_Info where PackageDetail_Info.Project_ID=Project_Info.Project_ID and Package_ID='" + Package_ID + "'", conn);
System.Data.SqlClient.SqlDataReader dr = Selectcmd.ExecuteReader();
while (dr.Read())
{
Response.Write("<script language=javascript>alert('int count = dr.GetInt32(0);')</script>");
//for (int k = 0; k <= dr.FieldCount;k++ )
{
//Label2.Text = dr.GetInt32(0).ToString().Trim();
//Label3.Text = dr.FieldCount.ToString().Trim();
int count = dr.GetInt32(0);
Response.Write("<script language=javascript>alert('1')</script>");
double Price = dr.GetDouble(1);
total = total + count * Price;
}
if (dr.NextResult())
{
//dr.NextResult();
dr.Close();
}
else


{
dr.Close();
break;
}
total = total * double.Parse(Discount);
}


[解决办法]
把这段代码注释掉吧
if (dr.NextResult())
{
//dr.NextResult();
dr.Close();
}
else
{
dr.Close();
break;
}
[解决办法]
引用:
把这段代码注释掉吧
if (dr.NextResult())
{
//dr.NextResult();
dr.Close();
}
……


同意。

不管怎么样,你都执行 dr.Close()。还想读什么“更多数据行”?

另外,使用从DbDataReader继承来的Read()方法就行了,不要使用NextResult方法。

读书人网 >C#

热点推荐