【发布时间】:2012-03-05 06:05:57
【问题描述】:
需要知道使用c#的数据库和包含表的确切信息。 数据库是 MS access。我想获取其中表的完整信息,例如主键、最大长度、ms access 数据库中表中列的不为空等。 那么最好的方法是什么....
感谢任何帮助。
另一个问题是 getschema 以数字方式为我提供数据类型,例如 130,131.. 那么我如何在创建表查询中使用它们,它们会给出错误
让我解释一下我要做什么。我想重新创建我没有任何信息的数据库。我不知道它的大小、表格、数据或任何东西。 实际上我已经在一定程度上取得了成功。我所做的是我得到了数据库名称并使用 CatalogClass 和 getschema(tables) 创建它我得到所有表名并使用从 C# 创建表来创建它们。然后使用更改表的列名.现在我必须给它提供数据库中的约束。 所以,除了我用过的这个方法还有什么我遗漏的。任何简单或更好的方法可以做到这一点。所以,它可以更快
问题仍未解决
【问题讨论】:
-
我相信您可以使用 DAO 和 c#,so here is a post 使用 VBA 创建架构,这可能会有所帮助。
-
感谢帮助 remou...但我对这一切都是新手,特别从未学过 VBA。目前正在使用 C#。我正在使用 ado 动态创建数据库、表和列。一切正常,但我只需要向我正在重新创建的列添加约束、键、精确数据类型。并且我必须从其他数据库中获取这些信息..
-
所以我想有没有其他简单的方法来获取信息和实施。当 getschema 给我列的数据类型时,它们是数字形式,如 130,5,131.so 有没有一种方法可以给我数字,字符串,日期时间...
-
今天我只是检查getschema返回的数据类型。我发现它为备忘录和文本都给出了130。因为我的数据类型不匹配。所以任何其他方法从数据库中获取数据类型.so 我可以比较这些数值。