数组的空异常:未从 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++;
}
我已将 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++;
}