Ошибка при чтении данных из базы данных с использованием DbDataReader
Я хочу прочитать данные из базы данных оракула и добавить эти данные в список. Но когда я запускаю приложение, я получаю "Недопустимая операция. Связь закрыта. ошибка.
Это мой код:
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;
}
}
Можете ли вы помочь мне решить эту проблему.
1 ответ
Решение
Попробуйте заменить это
cmd = db.GetSqlStringCommand(query);
с этим:
cmd = con.CreateCommand();
cmd.CommandText = query;