关于dataReader的问题!!! 是不是你GetDatareader失败了~跟踪调试一下~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 为什么要返回DataReader呢?返回Read出来的值不行吗? finally { cn.Close(); }这里已经关了也就是说OleDbDataReader dr=GetDatareader(str);后面的datareader是关闭的dr.Read()这里一定要open的,所以在OleDbDataReader dr=GetDatareader(str); if (dr.Read())之间要open一次,就可以了 OleCmd中 Connection是否有值?Connectionstring写对没有?整个过程跟踪一下. 原因是关闭了DataReader,可以设定执行完再关闭,修改如下:public OleDbDataReader GetDatareader(string strSql) { string strconn = System.Configuration.ConfigurationManager.AppSettings["conn"]; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); try { OleDbCommand OleCmd = new OleDbCommand(strSql, cn); OleDbDataReader OleDr = OleCmd.ExecuteReader(CommandReaderBehavior. CloseConnection); return OleDr; } finally { cn.Close(); } } } cn.Close();这一句是多余的...CommandReaderBehavior.CloseConnection这个属性会在被调用的DataReader关闭时自动关闭con datareader是保持连接的可以试试这样: public OleDbDataReader GetDatareader(string strSql) { string strconn = System.Configuration.ConfigurationManager.AppSettings["conn"]; OleDbConnection cn = new OleDbConnection(strconn); cn.Open(); OleDbCommand OleCmd = new OleDbCommand(strSql, cn); OleDbDataReader OleDr = OleCmd.ExecuteReader(); return OleDr; }然后: OleDbDataReader dr=GetDatareader(str); if (dr.Read()) { lb_stu.Text = dr["stuname"].ToString(); } dr.Close(); //还有关闭数据库连接 Microsoft .NET Framework NGEN v4.0启动不了,求解 读取pdf文件除了pdfbox,还能用什么? asp.net 数据二级连锁问题 我要学习ASP了 不知道怎么学习! js脚本问题 将数据编码后(UTF-16)再插入数据库 快来帮忙啊!。。。。。。。 高分寻求改变asp.net中page对象行为的解决方案 如何获得toorbar里的DropDownList的值 我的问题不没解决 中国法律规定一周上几天班呀,为什么徐州都是上六天班,周六上班却不算加班! 拜托大家,安装控件时候的问题。。。
{
cn.Close();
}这里已经关了
也就是说OleDbDataReader dr=GetDatareader(str);后面的datareader是关闭的
dr.Read()这里一定要open的,
所以在OleDbDataReader dr=GetDatareader(str);
if (dr.Read())
之间要open一次,就可以了
public OleDbDataReader GetDatareader(string strSql)
{
string strconn = System.Configuration.ConfigurationManager.AppSettings["conn"];
OleDbConnection cn = new OleDbConnection(strconn); cn.Open();
try
{
OleDbCommand OleCmd = new OleDbCommand(strSql, cn);
OleDbDataReader OleDr = OleCmd.ExecuteReader(CommandReaderBehavior.
CloseConnection);
return OleDr;
}
finally
{
cn.Close();
}
}
}
这一句是多余的...CommandReaderBehavior.CloseConnection这个属性会在被调用的DataReader关闭时自动关闭con
public OleDbDataReader GetDatareader(string strSql)
{
string strconn = System.Configuration.ConfigurationManager.AppSettings["conn"];
OleDbConnection cn = new OleDbConnection(strconn); cn.Open();
OleDbCommand OleCmd = new OleDbCommand(strSql, cn);
OleDbDataReader OleDr = OleCmd.ExecuteReader();
return OleDr;
}
然后:
OleDbDataReader dr=GetDatareader(str);
if (dr.Read())
{
lb_stu.Text = dr["stuname"].ToString();
}
dr.Close(); //还有关闭数据库连接