-1

Visual Studio 2013 を Oracle XE 11 データベースに接続しました。次のコードを使用して、データベースにあるテーブルから情報を取得しようとしていますが、foreach ループで設定している値で配列の装飾が初期化されていないようです。助けてください。

conn.Open(); // it is an OleDbConnection

String[] decor;

DataTable table1 = new DataTable();

OleDbDataAdapter oda1 = new OleDbDataAdapter("select name from Product where Commodity_Type='decor'",conn);

oda1.Fill(table1);

int j=0;

foreach (DataRow row in table1.Rows)

            {

                decor[j] = row["name"].ToString();

                j++;

            }
4

2 に答える 2

3

変数を初期化していませんdecor

decor = new String[(table1.rows.Count())]

それはあなたが自分で見つけたはずのエラーです。

于 2015-11-20T06:48:10.400 に答える
0

initialized次のコードを試してください:テーブルを埋めた後に装飾する必要があります。

conn.Open();
DataTable table1 = new DataTable();
OleDbDataAdapter oda1 = new OleDbDataAdapter("select name from Product where Commodity_Type='decor'",conn);
oda1.Fill(table1);
String[] decor = new String[(table1.rows.Count())]
int j=0;
foreach (DataRow row in table1.Rows) {
     decor[j] = row["name"].ToString();
     j++;
}
于 2015-11-20T06:59:58.697 に答える