Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数据库中的字段存储在数组c中_C#_Ms Access_Oledb - Fatal编程技术网

C# 将数据库中的字段存储在数组c中

C# 将数据库中的字段存储在数组c中,c#,ms-access,oledb,C#,Ms Access,Oledb,我正在尝试将microsoft access数据库中某列中的所有字段存储在一个数组中。我正在使用OleDb,但我真的不知道该怎么做 我知道我必须有一个循环来遍历表,因为表中有行,但我不知道如何将当前字段存储在数组的当前索引中。 任何帮助都将不胜感激 下面是一些代码的片段: string[] tasks; string sql = "SELECT [Task Name] FROM Tasks"; OleDbCommand cmd = new OleDbCommand(sql, conn)

我正在尝试将microsoft access数据库中某列中的所有字段存储在一个数组中。我正在使用OleDb,但我真的不知道该怎么做

我知道我必须有一个循环来遍历表,因为表中有行,但我不知道如何将当前字段存储在数组的当前索引中。 任何帮助都将不胜感激

下面是一些代码的片段:

 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];
                        }
                    }
                }
            }
        }