【发布时间】:2008-10-30 19:37:12
【问题描述】:
也许天真地,我创建了一个类 (AdminDatabase) 来处理与不同 MS-Access 数据库文件的连接(参见底部的代码)。该类的目的是允许从 MS-Access 数据库中检索数据并操作数据。这很好用。我可以为 AdminDatabase 类的实例提供一条 SQL 语句并用结果填充数据表(code 部分中的 getDataTable 方法。现在我已将数据集添加到项目中使用 Visual Studio 的数据设计器。
现在我有点困惑。一旦用户选择了相关的数据文件,AdminDatabase 类集的连接字符串。由于新数据集也使用相同的设置,My.Settings.AdminConnectionString 用于连接,这让我想到了我的问题:
实例化 AdminDatabase 对象后,我是否可以假设我使用数据设计器创建的数据集将连接到用户在运行时选择的 MS-Access 数据库文件?
我应该在我的连接类中编写方法来访问使用数据设计器创建的数据集中的数据,还是直接访问数据集可以?我想我可以在某个地方有一个方法来设置项目中的连接字符串设置。
我还能如何解决这个问题?
代码
公共类 AdminDatabase ' 存储在 New() 方法中设置的连接字符串 暗淡 strAdminConnection 作为字符串 公共子新() ... adminName = dlgopen.FileName conAdminDB = 新的 OleDbConnection conAdminDB.ConnectionString = "数据源='" + adminName + "';" + _ “提供者=Microsoft.ACE.OLEDB.12.0” ' 将连接字符串存储在 strAdminConnection 中 strAdminConnection = conAdminDB.ConnectionString.ToString() My.Settings.SetUserOverride("AdminConnectionString", strAdminConnection) ... 结束子 ' 从数据库中检索数据 公共函数 getDataTable(ByVal sqlStatement As String) As DataTable 暗淡为新数据集 将 dt 调暗为新数据表 Dim da 作为新的 OleDbDataAdapter 将 localCon 调暗为新的 OleDbConnection localCon.ConnectionString = strAdminConnection 使用 localCon 暗淡命令 As OleDbCommand = localCon.CreateCommand() command.CommandText = sqlStatement localCon.Open() da.SelectCommand = 命令 da.填充(dt) 获取数据表 = dt 结束使用 结束功能 结束类【问题讨论】:
-
请查看this meta question 的答案。