Ошибка при чтении данных из базы данных с использованием 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;
Другие вопросы по тегам