-1

を使用してデータを返そうとすると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());
            }
4

3 に答える 3

2

ocmdcmdは 2 つの異なる変数です。

于 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 に答える