public OleDbDataReader ExecuteQueryReturnReader(string sql, string connStr)
{
OleDbConnection conn = new OleDbConnection();
OleDbDataReader reader = null;
try
{
conn = new OleDbConnection(connStr);
conn.Open(); OleDbCommand command = conn.CreateCommand();
command.CommandText = sql;
reader = command.ExecuteReader();
}
catch
{
}
finally
{
if (conn != null)
conn.Close();
}
return reader;
}
以上是在下的代码,在项目中是这么使用的: string DataBase = "HCConfig.mdb";
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Application.StartupPath + "//" + DataBase;
ExecSql con = new ExecSql();
string Sql= "select * form config where ID='sss'";
OleDbDataReader p = con.ExecuteQueryReturnReader(strConnection, Sql);
MessageBox.Show(p.FieldCount.ToString());但是为什么会出现以下的错误?
其他信息: 未将对象引用设置到对象的实例。
每次执行到 MessageBox.Show(p.FieldCount.ToString());的时候总会出现这句话!!!!
{
OleDbConnection conn = new OleDbConnection();
OleDbDataReader reader = null;
try
{
conn = new OleDbConnection(connStr);
conn.Open(); OleDbCommand command = conn.CreateCommand();
command.CommandText = sql;
reader = command.ExecuteReader();
}
catch
{
}
finally
{
if (conn != null)
conn.Close();
}
return reader;
}
以上是在下的代码,在项目中是这么使用的: string DataBase = "HCConfig.mdb";
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ Application.StartupPath + "//" + DataBase;
ExecSql con = new ExecSql();
string Sql= "select * form config where ID='sss'";
OleDbDataReader p = con.ExecuteQueryReturnReader(strConnection, Sql);
MessageBox.Show(p.FieldCount.ToString());但是为什么会出现以下的错误?
其他信息: 未将对象引用设置到对象的实例。
每次执行到 MessageBox.Show(p.FieldCount.ToString());的时候总会出现这句话!!!!
{
if (conn != null)
conn.Close();
}
连接已经在返回前关闭了.这个不用自己写,已经有成熟的sqlhelper或oledbhelper.
conn.Close();也不行我试过的