数组的空异常:未从 Oracle 数据库初始化

Null Exception of array: not initialising from Oracle database

我已将 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++;

            }

你没有初始化变量decor

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

这应该是你自己发现的错误。

试试这个代码: 填充table后需要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++;
}