对象引用未设置为对象的实例 - OracleDataReader

本文关键字:实例 OracleDataReader 对象 设置 对象引用 | 更新日期: 2023-09-27 18:32:16

尝试使用 OracleDataReader 返回数据,得到

"Object reference not set to an instance of an object " at the line "odr = 
ocmd.ExecuteReader();",

任何人都可以建议我错过/做错了什么吗?

谢谢

T

           OracleConnection cn = null;
            OracleDataReader odr = null;
            OracleCommand ocmd = null;
            String con1 = System.Configuration.ConfigurationManager.ConnectionStrings["HousingDBConnectionString"].ConnectionString;
            cn = new OracleConnection(con1);
            cn.Open();
            string mysql = "SELECT stuff from tables";
            OracleCommand cmd = new OracleCommand(mysql, cn);
            odr = ocmd.ExecuteReader();
            Label2.Text = "connection success";
            ListBox1.Items.Clear();
            while (odr.Read()) 
            {
                ListBox1.Items.Add(odr["TCY_CORRESPOND_NAME"].ToString());
            }

对象引用未设置为对象的实例 - OracleDataReader

您将 ocmd 声明为 null,但随后您创建了另一个 OracleCommand 对象作为 cmd。

这部分是错误的:

OracleCommand cmd = new OracleCommand(mysql, cn); 
odr = ocmd.ExecuteReader(); 

它应该是:

OracleCommand cmd = new OracleCommand(mysql, cn); 
odr = cmd.ExecuteReader(); 

ocmdcmd是两个不同的变量。

OracleCommand cmd = new OracleCommand(mysql, cn);

应该是

OracleCommand ocmd = new OracleCommand(mysql, cn);