【问题标题】:Rename a column in MS Access dynamically using C#使用 C# 动态重命名 MS Access 中的列
【发布时间】:2014-04-15 04:53:50
【问题描述】:

有什么方法可以从 C# 动态重命名 MS Access 中的列? 我知道它在 SQL Server 中很简单,但在 Access 中以编程方式执行相同操作的最佳方法是什么?

【问题讨论】:

    标签: c# ms-access ms-access-2003


    【解决方案1】:

    对于 Access 2003 数据库文件,如果您的应用程序以 32 位运行,则可以使用良好的旧 Jet DAO:

    // test data
    string tableName = "Members";
    string oldFieldName = "Photo";
    string newFieldName = "Photograph";
    
    // COM Reference required in C# project:
    //     Microsoft DAO 3.6 Object Library
    //
    var dbe = new DAO.DBEngine();
    DAO.Database db = dbe.OpenDatabase(@"C:\Users\Public\mdbTest.mdb");
    DAO.Field fld = db.TableDefs[tableName].Fields[oldFieldName];
    fld.Name = newFieldName;
    db.Close();
    

    要对 .accdb 文件进行操作,或从以 64 位运行的 C# 应用程序执行操作,需要安装较新的 Access Database Engine(也称为“ACE”)。那么代码将是:

    // test data
    string tableName = "Members";
    string oldFieldName = "Photo";
    string newFieldName = "Photograph";
    
    // COM Reference required in C# project:
    //     Microsoft Office 14.0 Access Database Engine Object Library
    //
    var dbe = new Microsoft.Office.Interop.Access.Dao.DBEngine();
    Microsoft.Office.Interop.Access.Dao.Database db = dbe.OpenDatabase(@"C:\Users\Public\accdbTest.accdb");
    Microsoft.Office.Interop.Access.Dao.Field fld = db.TableDefs[tableName].Fields[oldFieldName];
    fld.Name = newFieldName;
    db.Close();
    

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 2011-01-04
      • 2023-03-11
      • 2011-06-18
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      相关资源
      最近更新 更多