我正在尝试连接到 mdb(访问 2000) 我的应用程序有 1 个主屏幕和 4 个按钮。每个按钮都会打开一个新表单。
我需要在所有 4 个子表单上访问此数据库,我必须为每个表单添加 ADOConnection 吗?我可以在主窗体上建立连接吗?或者有没有更好的方法?
我正在尝试连接到 mdb(访问 2000) 我的应用程序有 1 个主屏幕和 4 个按钮。每个按钮都会打开一个新表单。
我需要在所有 4 个子表单上访问此数据库,我必须为每个表单添加 ADOConnection 吗?我可以在主窗体上建立连接吗?或者有没有更好的方法?
您只需要一个可以在所有表单中使用的 ADOConnection。共享该连接的最简单方法是创建一个数据模块,将 ADOConnection 放在其上,然后从所有表单中使用该数据模块及其连接。确保在表单创建之前创建数据模块。
您还可以将查询和表格组件放在一个或多个数据模块上。我发现它有助于促进 UI 和数据访问之间的分离,但这完全取决于你。
多个连接的唯一原因是当您从多个线程访问数据库时。在这种情况下,您访问数据库的每个线程都需要一个连接。您正在从主线程执行所有操作,因此只需要一个连接。
将 TADOConnection 放在一个数据模块上,并以所有形式使用数据模块来共享连接。
打开你的项目:
文件 -> 新建 -> 其他 Delphi 项目 -> Delphi 文件数据模块
然后:
项目 -> 选项表单将数据模块移动到自动创建表单的顶部
您必须为应用程序使用唯一TADOCOnnection
的(服务于所有表单)。每个表单都可以使用TADOQuery
, TADOTable
,... 与主连接。
没有理由使用 4 个连接 ( TADOConnection
)。