检索 MSAccess 数据库列描述

发布于 2024-11-29 04:45:10 字数 436 浏览 1 评论 0原文

我有一个 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 中使用“设计视图”时查看该信息)。

有没有简单的方法来获取“描述”信息?

I have an MS Access 2002-2003 database. I'd like to know if there's a way to programmatically retrieve the column descriptions. I can already obtain the column type, name, etc. using

OleDbDataReader reader = cmd.ExecuteReader(CommandBehavior.KeyInfo);

DataTable schemaTable = reader.GetSchemaTable();

foreach (DataRow myField in schemaTable.Rows)
{
   foreach (DataColumn myProperty in schemaTable.Columns)
   {
      // etc...
   }
}

but I don't have access to the "Description" information (which you can view when using "Design View" in MSAccess).

Is there a simple way to get the "Description" information?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

残疾 2024-12-06 04:45:10

这就是我最终所做的:

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 附带的)的引用。我还必须添加对 Microsoft ADO Ext 的引用。 2.8 用于 DDL 和安全,它是一个 ActiveX 组件(在 Visual Studio 中添加引用时可在 COM 选项卡中找到)。

代码片段很棒,但如果您省略参考信息,有些人就会陷入困境;)

Here's what I ended up doing:

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();

This works great, except I had some trouble finding the right assemblies to add as references. I had to add a reference to adodb.dll (which comes with .Net). I also had to add a reference to Microsoft ADO Ext. 2.8 for DDL and Security which is an ActiveX component (found in the COM tab when adding references in Visual Studio).

Code snippets are great, but if you omit reference information, some people get stuck ;)

青衫儰鉨ミ守葔 2024-12-06 04:45:10

使用 ADOX 目录,您可以查看 VBA 中的字段属性“说明”:

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# 中从 Access 数据库检索列描述?

Using an ADOX catalogue, you can look at the field property Description, in VBA:

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")

copy from How can I retrieve column descriptions from an access database in C#?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文