我正在尝试在C#程序的组合框中列出Microsoft Access 2000-2007中的数据类型(取决于MS Access数据库版本)。我怎么能做到这一点?
答案 0 :(得分:2)
Microsoft.Office.Interop.Access.Dao.DataTypeEnum
当然,你需要添加一个引用,我绝对不喜欢添加对Office的引用,因为你绑定了一个版本的Office,我讨厌每次升级时更新代码。
答案 1 :(得分:2)
我不认为可以在运行时询问引擎以枚举它支持的数据类型。例如,DAO不会透露一些Jet 4.0数据类型,例如NCHAR
和BINARY
; ADO将显示Access数据库引擎从未支持的数据类型;只有ACEDAO会透露多种类型。
我认为您需要事先知道每个版本的引擎支持的数据类型,然后在运行时选择适当的集合。
Jet 4.0数据类型(Access2000到2003,包括在内)和各种同义词可以找到here(还应该提供一些关于Jet 4.0新增类型的提示,以防你需要支持早期版本的引擎)。
ACE(Access2007)添加了附件类型;还有多值(“复杂”)类型以支持SharePoint列表:我认为您需要自己决定多值类型是不同类型还是仅仅是现有类型的变体。 Access2007 Help中有一些细节。