使用C#动态重命名MS Access中的列
本文关键字:Access MS 动态 重命名 使用 | 更新日期: 2023-09-27 17:58:24
有什么方法可以从C#动态重命名MS Access中的列吗?我知道它在SQL Server中很简单,但在Access中以编程方式实现这一点的最佳方法是什么?
对于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#应用程序执行操作,需要安装更新的访问数据库引擎(也称为"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();