程序开发中无错,发布后刚开始没错,多次查询(即读数据库)后才出现
看了很多文章
是关闭数据库的问题。
我的程序是三层架构
DBHelp里
//根据传入的SQL语句返回数据读取器
public OracleDataReader getReader(String sql)
{
OracleConnection con = getConn();
OracleCommand cmd = new OracleCommand(sql, con);
return cmd.ExecuteReader();
}
DataReader 不能关闭,在UI界面read的时候要连续读取数据库
改正方式:减少DataReader 的使用,全部换成Object
DBHelp里:
//返回首行首列
public object ExecuteScalar(String sql)
{
object obj = null;
OracleConnection con = getConn();
try
{
OracleCommand cmd = new OracleCommand(sql, con);
obj = cmd.ExecuteScalar();
}
finally
{
con.Close();
}
return obj;
}