检索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中使用"设计视图"时查看)。
是否有一种简单的方法来获取"描述"信息?
我最后是这样做的:
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#访问数据库中检索列描述?