【问题标题】:Creating a global database connection on an mdi form在 mdi 表单上创建全局数据库连接
【发布时间】:2016-11-14 21:05:47
【问题描述】:

在我的 vb 项目中,我有一个 mdi 父窗体来打开其他窗体。在一个表单上,我有一个 DataGridView 显示我在 SQL Server 中创建的表。如果我在本地设置连接(使用 DGV 加载表单),数据加载正常,但我必须使连接全局化以使其更简单并停止它不断打开/关闭相同的连接。我将代码添加到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)

【问题讨论】:

  • 您正在使用 OleDB 访问 SQL Server(标签)?
  • @Plutonix 是的,我确实尝试过使用 SqlClient,但我的老师说要使用 OleDb,但无论如何都可以使用

标签: .net sql-server vb.net datagridview ini


【解决方案1】:

由于您似乎是初学者,因此我将尝试告诉您如何使其发挥作用,而不是最佳实践。

通过在您的 MDI 表单中将其定义为 Public,确保可以从任何地方访问您的 constr:

Public constr = con.readconnectionstring()

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

mdi1.constr

最佳实践可能是将其存储在其自己的“DataAccess”类中,而不是 MDI 表单中

【讨论】:

  • 嗨,这一切都有效并消除了我最初遇到的错误,但是,现在在用于显示数据的 SQL 语句中出现了一个新错误,我将在其中发布原来的问题。
  • 否 - 如果您有新错误,请开始一个新问题
猜你喜欢
  • 2021-05-12
  • 2018-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
相关资源
最近更新 更多