将数据库中的字段存储在数组中 C#
Storing fields from a database in an array c#
我正在尝试将我的 Microsoft Access 数据库中的列中的所有字段存储在一个数组中。我正在使用 OleDb,但我真的不知道该怎么做。
我知道我必须有一个循环来遍历 table 的次数,因为 table 中有行,但我不知道如何存储当前的数组当前索引中的字段。
任何帮助将不胜感激!
下面是一些代码片段:
string[] tasks;
string sql = "SELECT [Task Name] FROM Tasks";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader dataReader = cmd.ExecuteReader();
if (dataReader.HasRows)
{
for (int i = 1; i <= 10; i++)
{
//tasks[i] = current field in table
}
}
听起来你想要这样的东西?
string[] tasks;
string sql = "SELECT [Task Name] FROM Tasks";
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
{
using (OleDbDataReader dataReader = cmd.ExecuteReader())
{
List<object[]> list = new List<object[]>();
if (dataReader.HasRows)
{
while (dataReader.Read())
{
object[] oarray = new object[dataReader.FieldCount];
list.Add(oarray);
for (int i = 1; i <= dataReader.FieldCount; i++)
{
oarray[i] = dataReader[i];
}
}
}
}
}
我正在尝试将我的 Microsoft Access 数据库中的列中的所有字段存储在一个数组中。我正在使用 OleDb,但我真的不知道该怎么做。
我知道我必须有一个循环来遍历 table 的次数,因为 table 中有行,但我不知道如何存储当前的数组当前索引中的字段。 任何帮助将不胜感激!
下面是一些代码片段:
string[] tasks;
string sql = "SELECT [Task Name] FROM Tasks";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataReader dataReader = cmd.ExecuteReader();
if (dataReader.HasRows)
{
for (int i = 1; i <= 10; i++)
{
//tasks[i] = current field in table
}
}
听起来你想要这样的东西?
string[] tasks;
string sql = "SELECT [Task Name] FROM Tasks";
using (OleDbCommand cmd = new OleDbCommand(sql, conn))
{
using (OleDbDataReader dataReader = cmd.ExecuteReader())
{
List<object[]> list = new List<object[]>();
if (dataReader.HasRows)
{
while (dataReader.Read())
{
object[] oarray = new object[dataReader.FieldCount];
list.Add(oarray);
for (int i = 1; i <= dataReader.FieldCount; i++)
{
oarray[i] = dataReader[i];
}
}
}
}
}