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

时间:2012-04-25 13:39:40

标签: c# asp.net visual-studio-2010 oracle10g

尝试使用OracleDataReader返回数据,获取

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

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

感谢

Ť

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

3 个答案:

答案 0 :(得分:2)

ocmdcmd是两个不同的变量。

答案 1 :(得分:2)

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

这部分错了:

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

应该是:

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

答案 2 :(得分:1)

OracleCommand cmd = new OracleCommand(mysql, cn);

应该是

OracleCommand ocmd = new OracleCommand(mysql, cn);