Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.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#_Visual Studio_Ms Access - Fatal编程技术网

C# 使用多个表保存数据集

C# 使用多个表保存数据集,c#,visual-studio,ms-access,C#,Visual Studio,Ms Access,对于我正在从事的一个项目,我使用一个从服务器下载的Access数据库来存储数据。下载文件后,我打开数据库并将其复制到数据集中,以便更轻松地编辑数据 现在的问题是,我需要将数据集保存回access数据库,但在程序执行期间,我也向数据集添加了新列,因此,有没有一种方法可以在下载新数据和列后更新存储在E:\驱动器上的access数据库,或者我必须从头创建一个新数据库 我用来加载和复制数据集的代码 private void accessConnect() { //Assign v

对于我正在从事的一个项目,我使用一个从服务器下载的Access数据库来存储数据。下载文件后,我打开数据库并将其复制到数据集中,以便更轻松地编辑数据

现在的问题是,我需要将数据集保存回access数据库,但在程序执行期间,我也向数据集添加了新列,因此,有没有一种方法可以在下载新数据和列后更新存储在E:\驱动器上的access数据库,或者我必须从头创建一个新数据库

我用来加载和复制数据集的代码

private void accessConnect()
    {
        //Assign values to access database variables 
        Connection = new OleDbConnection();
        command = new OleDbCommand();
        adapter = new OleDbDataAdapter();
        databaseDataSet = new DataSet();

        //Assign location of database to connection variable 
        connection.ConnectionString =
            @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\EAttendance.accdb;" +
            "Persist Security Info=False";

        //Establish connection with database
        command.Connection = connection;

        //Copy all tables into a c# dataset 
        try
        {
            //Select the user table in the database
            command.CommandText = "SELECT * FROM users";
            adapter.SelectCommand = command;

            //Copy table into dataset 
            adapter.Fill(databaseDataSet,"users");

            //Select the students table in the database
            command.CommandText = "SELECT * FROM students";
            adapter.SelectCommand = command;

            //copy the students database into the dataset 
            adapter.Fill(databaseDataSet, "students");

        }

        //catch exception and display error if application fails to read database 
        catch (OleDbException)
        {
            //Display error in form title bar
            this.Text = "Error #102 : Database Read Error";

            // Set connection value to false
            connectionBoolean = false; 

        }



    }

您错过的是SQLDataReader

public SQLDataReader someReader
{
 get {return this.Reader("students");}
}

如果向数据集的表中添加新列,则需要在Access文件中重新创建这些列。保存数据集不会在Access文件上创建新列。有一些命令允许更改现有模式。你可以找到一个