如何使用 C# ADOX 访问 Access 数据库表的属性?

Posted

技术标签:

【中文标题】如何使用 C# ADOX 访问 Access 数据库表的属性?【英文标题】:How to access properties of Access Database Table using C# ADOX? 【发布时间】:2009-07-20 19:39:24 【问题描述】:

我使用 C# ADOX 库创建了 MS Access 数据库。我创建了一个包含几列的表。我想要实现的是当我在一列中插入日期时,日期格式应该是 YYYY-MM-DD 而不是 MM-DD-YYYY。我知道它只是显示格式,但我想访问我们在设计模式下打开访问表时设置的属性,对于日期数据类型的列,将格式设置为自定义(YYYY-MM-DD)。我希望仅在创建表时在运行时设置它。我想知道应该使用什么属性名称来访问和设置列的格式属性?

【问题讨论】:

如果 MDB 没有被 Access 使用,那么设置 format 属性是浪费时间,我认为,因为它真的只有 Access 支持。不过,我可能是错的。 @David W. Fenton:我认为你是正确的。 【参考方案1】:

如果您的目标是 Access DB

,您最好使用 DAO 库来做到这一点

使用 DAO,您可以使用 Columns(colNumber).Properties("Format") 打开数据库、记录集并访问此属性。

如果您不知道如何使用 DAO - 请告诉我。

编辑:VB6 代码使用 DAO 获取 Format 属性

Dim db As DAO.Database, rst As DAO.Recordset
Set db = OpenDatabase("Path to my MDB file")

Set rst = db.OpenRecordset("select myDateColumn From myTable WHERE 1 = 2")
MsgBox rst.Fields("myDate").Properties("Format").Value

rst.Close
Set rst = Nothing

db.Close
Set db = Nothing

【讨论】:

以上是关于如何使用 C# ADOX 访问 Access 数据库表的属性?的主要内容,如果未能解决你的问题,请参考以下文章

COM 异常:尝试创建 ADOX.Catalog 时出现“类未注册”

C# 创建Access数据库及数据表的增删改查

以编程方式访问“压缩和修复”

如何以编程方式检索所有查询的查询文本

如何在 C# 中创建 Microsoft Access 数据库? [复制]

我们如何在 C# 中将访问数据库(.mdb)导入 sql server 2008