2
是否有任何方式可以通过它从C#中动态重命名MS Access中的列? 我知道它在SQL Server中很简单,但哪种方法是以编程方式在Access中执行相同操作的最佳方法?使用C#动态重命名MS Access中的列
是否有任何方式可以通过它从C#中动态重命名MS Access中的列? 我知道它在SQL Server中很简单,但哪种方法是以编程方式在Access中执行相同操作的最佳方法?使用C#动态重命名MS Access中的列
对于Access 2003数据库文件,如果你的应用程序正在运行32位,你可以用好老喷气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();