0

我正在尝试连接到 mdb(访问 2000) 我的应用程序有 1 个主屏幕和 4 个按钮。每个按钮都会打开一个新表单。

我需要在所有 4 个子表单上访问此数据库,我必须为每个表单添加 ADOConnection 吗?我可以在主窗体上建立连接吗?或者有没有更好的方法?

4

3 回答 3

7

您只需要一个可以在所有表​​单中使用的 ADOConnection。共享该连接的最简单方法是创建一个数据模块,将 ADOConnection 放在其上,然后从所有表单中使用该数据模块及其连接。确保在表单创建之前创建数据模块。

您还可以将查询和表格组件放在一个或多个数据模块上。我发现它有助于促进 UI 和数据访问之间的分离,但这完全取决于你。

多个连接的唯一原因是当您从多个线程访问数据库时。在这种情况下,您访问数据库的每个线程都需要一个连接。您正在从主线程执行所有操作,因此只需要一个连接。

于 2013-01-18T12:32:16.827 回答
4

将 TADOConnection 放在一个数据模块上,并以所有形式使用数据模块来共享连接。

打开你的项目:

文件 -> 新建 -> 其他 Delphi 项目 -> Delphi 文件数据模块

然后:

项目 -> 选项表单将数据模块移动到自动创建表单的顶部

于 2013-01-18T12:36:01.923 回答
1

您必须为应用程序使用唯一TADOCOnnection的(服务于所有表单)。每个表单都可以使用TADOQuery, TADOTable,... 与主连接。

没有理由使用 4 个连接 ( TADOConnection)。

于 2013-01-18T12:13:04.707 回答