检索MSAccess数据库列描述

本文关键字:描述 数据库 MSAccess 检索 | 更新日期: 2023-09-27 18:05:29

我有一个MS Access 2002-2003数据库。我想知道是否有一种方法以编程方式检索列描述。我已经可以使用

获取列类型、名称等。
OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);
DataTable schemaTable = reader.GetSchemaTable();
foreach (DataRow myField in schemaTable.Rows)
{
   foreach (DataColumn myProperty in schemaTable.Columns)
   {
      // etc...
   }
}

但是我无法访问"描述"信息(您可以在MSAccess中使用"设计视图"时查看)。

是否有一种简单的方法来获取"描述"信息?

检索MSAccess数据库列描述

我最后是这样做的:

string columnName = "myColumnName"
ADOX.Catalog cat = new ADOX.CatalogClass();
ADODB.Connection conn = new ADODB.Connection();
conn.Open(ConnectionString, null, null, 0);
cat.ActiveConnection = conn;
ADOX.Table mhs = cat.Tables["myTableName"];
columnDescription = mhs.Columns[columnName].Properties["Description"].Value.ToString();
conn.Close();

这工作得很好,除了我有一些麻烦找到正确的程序集添加作为引用。我必须添加对adodb.dll的引用(它与。net一起提供)。我还必须为DDL和Security添加对Microsoft ADO Ext. 2.8的引用,这是一个ActiveX组件(在Visual Studio中添加引用时在COM选项卡中找到)。

代码片段很好,但是如果省略引用信息,有些人就会卡住;)

使用ADOX目录,您可以查看VBA中的字段属性Description:

catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & CurrentProject.FullName
Set tbl = catDB.Tables("New")
Set fld = tbl.Columns("Test")
Debug.Print fld.Properties("Description")
如何从c#访问数据库中检索列描述?