-1

尝试使用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());
            }
4

3 回答 3

2

ocmdcmd是两个不同的变量。

于 2012-04-25T13:41:29.457 回答
2

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

这部分是错误的:

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

它应该是:

OracleCommand cmd = new OracleCommand(mysql, cn); 
odr = cmd.ExecuteReader(); 
于 2012-04-25T13:42:29.773 回答
1
OracleCommand cmd = new OracleCommand(mysql, cn);

应该

OracleCommand ocmd = new OracleCommand(mysql, cn);   
于 2012-04-25T13:45:34.087 回答