0

我正在将旧的 VB6 应用程序升级到使用 DAO 连接到 Access 数据库的 VB.NET。我知道这是一项无可救药的过时技术,但考虑到更改为 ADO 的工作量,我决定继续使用 DAO,尽管在查找文档时遇到了挫折。

我的问题是我想让 DataGridView 反映数据库中的表。当然,我可以让自己的例程手动设置列并填充 DataGridView,但如果这是一种方式,我想使用 DataSource 属性或其他一些内置函数。我发现了一个看起来很有希望的论坛帖子,但不幸的是我找不到提到的附件。

此外,如果有比 DataGridView 更适合此的其他控件,请告诉我。

谢谢

4

2 回答 2

1

DAO 文档不难找到。安装 VB6 和 Microsoft Developer Network(VB6 附带的磁盘)。进入 VB6 IDE,查看代码,将光标放在 DAO 关键字上,按 F1。Presto - 有用的文档!如果您更喜欢在线参考,Access 2007 中的 DAO 文档应该可以很好地满足您的需求。

那么您想将 DataGridViewTable 绑定到DAO表吗?好主意,但这是一个很大的问题。VB6 应用程序是否使用数据绑定?

  • 如果是这样,您将很难将其迁移到 VB.Net。考虑在 VB.Net 替代品中转移到 ADO.Net。
  • 如果没有,您可能可以通过 COM 从 VB.Net 使用 DAO,并且您可能会发现与 DAO 相关的 VB6 可以毫不费力地移植到与 DAO 相关的 VB.Net。我不知道。
于 2012-06-29T15:30:20.180 回答
0

一种选择是使用 Code Complete 中的方法。在 VB.NET 用户界面和遗留数据访问代码(您的 DAO 代码)之间放置一个漂亮、干净的层。该层将获取通过 DAO 获取的数据并将其传输到 DataTable 对象中。然后,将 DataTable 发送到 UI 并将其用作 DataGridView 的 .DataSource 属性。

然而,老实说,因为这涉及为每个返回数据供您显示的 DAO 函数编写代码,所以我只是将您的数据访问例程重构为 ADO.NET。由于 DAO 如此、如此、如此古老,在我看来,创建一个“新”应用程序并使用这种过时的技术是不负责任的,即使它在技术上可以“工作”。

于 2012-06-29T15:38:49.023 回答