While(datareader.Read())能不能嵌套啊?
请问有哪位大虾能指点一下小弟,谢谢!!每次都提示连接已打开,注释掉了又提示DataReader没有可用的连接,我都快疯了!!!
//第三行--评价大项
//查询当前评价标准下对应的评价大项序号及内容--//
//定义查询评价大项信息的T_SQL语句
string strPJDXInfo = "SELECT LargeItem_No,LargeItem_Name FROM ScoreItme_Large WHERE ScoreStandard_ID="+iPJBZID+" ORDER BY LargeSerial_ID,LargeItem_Sort";
//实例化数据库命令对象
OleCmd = new OleDbCommand(strPJDXInfo,OleCon);
//打开连接
OleCmd.Connection.Open();
//实例化数据读取对象
OleDr = OleCmd.ExecuteReader();
//循环读取数据库中评价大项表中的评价大项序号和名称
while(OleDr.Read())
{
//定义存储评价大项序号的字符串变量
strPJDXNo = OleDr.GetString(0); //获取评价大项序号记录
//定义存储评价大项名称的字符串变量
strPJDXName = OleDr.GetString(1);//获取评价大项名称记录
//输出评价大项信息
Response.Write("<tr>");
Response.Write("<td width=50px align=center><font size=2>"+strPJDXNo+"</font></td>");
Response.Write("<td width=90px align=center><font size=2>"+strPJDXName+"</font></td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("</tr>");//结束第三行--评价大项
//第四行--评价中项
//查询当前评价标准下对应的评价中项序号及内容--//
//定义查询评价中项信息的T_SQL语句
string strPJZXInfo = "SELECT MiddleItem_No,MiddleItem_Name,Standard_Score FROM ScoreItme_Middle WHERE ScoreStandard_ID="+iPJBZID+" ORDER BY MiddleSerial_ID,MiddleItem_No";
//实例化数据库命令对象
OleCmd = new OleDbCommand(strPJZXInfo,OleCon);
//打开连接
OleCmd.Connection.Open();
//实例化数据读取对象
OleDr = OleCmd.ExecuteReader();
//循环读取数据库中评价中项表中的评价中项序号、名称及标准分值
while(OleDr.Read())
{
//定义存储评价中项序号的整型变量
iPJZXNo = OleDr.GetInt32(0); //获取评价中项序号记录
//定义存储评价中项名称的字符串变量
strPJZXName = OleDr.GetString(1);//获取评价中项名称记录
//定义存储评价中项标准分值的字符串变量
//strPJBZFZ = OleDr.GetString(2);//获取评价中项标准分值记录
//输出评价中项信息
Response.Write("<tr>");
Response.Write("<td width=50px align=center><font size=2>"+iPJZXNo+"</font></td>");
Response.Write("<td width=90px align=center><font size=2>"+strPJZXName+"</font></td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("</tr>");//结束第四行--评价中项
}
//关闭数据库读取对象
OleDr.Close();
//关闭连接
OleCmd.Connection.Close();
}
//关闭数据库读取对象
OleDr.Close();
//关闭连接
OleCmd.Connection.Close();
//第三行--评价大项
//查询当前评价标准下对应的评价大项序号及内容--//
//定义查询评价大项信息的T_SQL语句
string strPJDXInfo = "SELECT LargeItem_No,LargeItem_Name FROM ScoreItme_Large WHERE ScoreStandard_ID="+iPJBZID+" ORDER BY LargeSerial_ID,LargeItem_Sort";
//实例化数据库命令对象
OleCmd = new OleDbCommand(strPJDXInfo,OleCon);
//打开连接
OleCmd.Connection.Open();
//实例化数据读取对象
OleDr = OleCmd.ExecuteReader();
//循环读取数据库中评价大项表中的评价大项序号和名称
while(OleDr.Read())
{
//定义存储评价大项序号的字符串变量
strPJDXNo = OleDr.GetString(0); //获取评价大项序号记录
//定义存储评价大项名称的字符串变量
strPJDXName = OleDr.GetString(1);//获取评价大项名称记录
//输出评价大项信息
Response.Write("<tr>");
Response.Write("<td width=50px align=center><font size=2>"+strPJDXNo+"</font></td>");
Response.Write("<td width=90px align=center><font size=2>"+strPJDXName+"</font></td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("</tr>");//结束第三行--评价大项
//第四行--评价中项
//查询当前评价标准下对应的评价中项序号及内容--//
//定义查询评价中项信息的T_SQL语句
string strPJZXInfo = "SELECT MiddleItem_No,MiddleItem_Name,Standard_Score FROM ScoreItme_Middle WHERE ScoreStandard_ID="+iPJBZID+" ORDER BY MiddleSerial_ID,MiddleItem_No";
//实例化数据库命令对象
OleCmd = new OleDbCommand(strPJZXInfo,OleCon);
//打开连接
OleCmd.Connection.Open();
//实例化数据读取对象
OleDr = OleCmd.ExecuteReader();
//循环读取数据库中评价中项表中的评价中项序号、名称及标准分值
while(OleDr.Read())
{
//定义存储评价中项序号的整型变量
iPJZXNo = OleDr.GetInt32(0); //获取评价中项序号记录
//定义存储评价中项名称的字符串变量
strPJZXName = OleDr.GetString(1);//获取评价中项名称记录
//定义存储评价中项标准分值的字符串变量
//strPJBZFZ = OleDr.GetString(2);//获取评价中项标准分值记录
//输出评价中项信息
Response.Write("<tr>");
Response.Write("<td width=50px align=center><font size=2>"+iPJZXNo+"</font></td>");
Response.Write("<td width=90px align=center><font size=2>"+strPJZXName+"</font></td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("<td> </td>");
Response.Write("</tr>");//结束第四行--评价中项
}
//关闭数据库读取对象
OleDr.Close();
//关闭连接
OleCmd.Connection.Close();
}
//关闭数据库读取对象
OleDr.Close();
//关闭连接
OleCmd.Connection.Close();
...全文
相关推荐
已有打开的与此命令相关联的DataReader,必须首先将它关闭。对于此异常的理解
今天与大家分享一下 已有打开的与此命令相关联的DataReader,必须首先将它关闭。这个异常的个人理解
把DataReader转换成DataTable的方法
把DataReader转换成DataTable的方法 把DataReader转换成DataTable的方法
C#使用ExecuteReader返回DataReader
C#使用ExecuteReader返回DataReader既有查询结果集又有输出参数和返回值的使用注意事项
使用 for循环嵌套 或 while 循环嵌套 来打印 九九乘法表 !
文章目录目的:使用 for 循环嵌套:使用 while 循环实现: 此链接通往 Bash Shell 编程学习的目录导航 ,从入门到放弃,感兴趣的可以去看看: 目的: 实现 打印 99乘法表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35
使用DataReader对象读取数据
使用DataReader对象读取数据参考实例


