使用 DbDataReader 从数据库读取数据时出错
Error while read data from database using DbDataReader
我想从 oracle 数据库中读取数据并将该数据添加到列表中。但是当我 运行 应用程序时,我收到 'Invalid operation. The connection is closed.' 错误。
这是我的代码:
public class NewOtherCompanyMapper
{
OtherCompany om;
private Database db;
private DbCommand cmd;
private DbConnection con;
public NewOtherCompanyMapper(OtherCompany om_temp)
{
om = om_temp;
db = DatabaseFactory.CreateDatabase("NDA_generator");
}
public List<OtherCompany> getCompanyDetails()
{
List<OtherCompany> list = new List<OtherCompany>();
OtherCompany oc = new OtherCompany();
try
{
con = db.CreateConnection();
con.Open();
string query = "SELECT * FROM OtherCompanyData";
cmd = db.GetSqlStringCommand(query);
DbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
oc = new OtherCompany(reader["RegNumber"].ToString(), reader["ComName"].ToString(), reader["Country"].ToString(), reader["Address"].ToString(), reader["CoreBusi"].ToString());
list.Add(oc);
}
}
catch (Exception ex)
{
throw ex;
}
return list;
}
}
你能帮我解决这个问题吗?
尝试替换这个
cmd = db.GetSqlStringCommand(query);
有了这个:
cmd = con.CreateCommand();
cmd.CommandText = query;
我想从 oracle 数据库中读取数据并将该数据添加到列表中。但是当我 运行 应用程序时,我收到 'Invalid operation. The connection is closed.' 错误。
这是我的代码:
public class NewOtherCompanyMapper
{
OtherCompany om;
private Database db;
private DbCommand cmd;
private DbConnection con;
public NewOtherCompanyMapper(OtherCompany om_temp)
{
om = om_temp;
db = DatabaseFactory.CreateDatabase("NDA_generator");
}
public List<OtherCompany> getCompanyDetails()
{
List<OtherCompany> list = new List<OtherCompany>();
OtherCompany oc = new OtherCompany();
try
{
con = db.CreateConnection();
con.Open();
string query = "SELECT * FROM OtherCompanyData";
cmd = db.GetSqlStringCommand(query);
DbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
oc = new OtherCompany(reader["RegNumber"].ToString(), reader["ComName"].ToString(), reader["Country"].ToString(), reader["Address"].ToString(), reader["CoreBusi"].ToString());
list.Add(oc);
}
}
catch (Exception ex)
{
throw ex;
}
return list;
}
}
你能帮我解决这个问题吗?
尝试替换这个
cmd = db.GetSqlStringCommand(query);
有了这个:
cmd = con.CreateCommand();
cmd.CommandText = query;