简体   繁体   English

使用DbDataReader从数据库读取数据时出错

[英]Error while read data from database using DbDataReader

I want to read data from an oracle database and add that data in to a List. 我想从oracle数据库中读取数据并将该数据添加到列表中。 But when I run the application I'm getting the 'Invalid operation. 但是,当我运行该应用程序时,我得到的是“无效操作。 The connection is closed.' 连接已关闭。 error. 错误。

This is my code: 这是我的代码:

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;
   }
 }

Can you please help me to solve this problem. 您能帮我解决这个问题吗?

Try replacing this 尝试更换它

cmd = db.GetSqlStringCommand(query);

with this: 有了这个:

cmd = con.CreateCommand();
cmd.CommandText = query;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM