在 mdi 表单上创建全局数据库连接

Creating a global database connection on an mdi form

在我的vb项目中,我有一个mdi父窗体可以打开其他窗体。在一种形式上,我有一个 DataGridView 显示我在 SQL 服务器中制作的 table。如果我在本地设置连接(在使用 DGV 加载的表单上),则数据加载正常,但我必须使连接成为全局连接以使其更简单并不断停止它 opening/closing 相同的连接..我添加了代码为mdi形式,如下。

Public Class mdi1

Dim con As inifile = New inifile()
Dim constr = con.readconnectionstring()

我已经添加了Imports System.Data.OleDb代码,为什么在编译代码时会出现以下错误?

constr is not declared, it may be inaccessible due to its protection level

此错误出现在我的 form1_load 子例程中(连接最初设置为将数据加载到 DGV)

由于您似乎是初学者,我将尝试告诉您如何进行这项工作,而不是最佳实践。

通过在您的 MDI 表单中将其定义为 Public:

,确保您的 constr 可以从任何地方访问
Public constr = con.readconnectionstring()

现在您可以使用完全限定的变量名在任何地方访问它:

mdi1.constr

最佳做法可能是将其存储在自己的 "DataAccess" class 中,而不是 MDI 格式