使用C#将表从一个MS Access数据库传输到另一个

 mobiledu2502856963 发布于 2023-02-08 11:01

我有两个几乎相同的数据库(都是*.mdb),但其中一个有很少的新表.现在,我只能使用以下代码检测应导入的表:

    public static List GetDBTables(string path)
    {
        List allTables = new List();
        String connect = ("Provider=Microsoft.JET.OLEDB.4.0;data source=" 
                                     + path + ";Persist Security Info=False;");

        OleDbConnection con = new OleDbConnection(connect);
        con.Open();

        DataTable tables = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, 
                                     new object[] { null, null, null, "TABLE" });

        int counter = 1;
        foreach (DataRow row in tables.Rows)
        {
            allTables.Add(row[2].ToString());
            counter++;
        }
        con.Close();

        return allTables;
    }

    var withNewTables = GetDBTables(".\\one.mdb");
    var withoutNewTables = GetDBTables(".\\another.mdb");
    var NotFoundTables = withNewTables.Except(withoutNewTables).ToList();

如何使用C#在旧数据库中导入这些表?

1 个回答
  • Access SQL提供了两个在这里很有用的功能.

      SELECT <field list> INTO NewTable

      FROM table_name IN 'path to other db file'

    所以,我可以从一个OLEDB连接到我的目标DB文件来执行这个语句,它会创建tblFoo_copy从包含在数据tblFoo在其他数据库文件,NewData.mdb.

    SELECT f.* INTO tblFoo_copy
    FROM tblFoo AS f IN 'C:\Users\hans\Documents\NewData.mdb';
    

    为要导入的每个表构建并执行类似的语句.

    2023-02-08 11:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有