寻求代码设计建议:使用 VB.Net 和 Ms-Access

Posted

技术标签:

【中文标题】寻求代码设计建议:使用 VB.Net 和 Ms-Access【英文标题】:Asking for code design advice: working with VB.Net and Ms-Access 【发布时间】: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 的答案。 【参考方案1】:

如果您使用强类型数据集而不是通用 DataTable 作为返回值,我会将它们视为不同的方法,为正在完成的操作返回正确的数据集。

我个人不再经常使用 DataSet,所以我不能 100% 确定是否有更清洁的方法...

【讨论】:

感谢您的回答。数据不需要强类型。所以,我正在创建我要为我需要从数据库中提取的数据编写一组带有适当 SQL 语句的函数。

以上是关于寻求代码设计建议:使用 VB.Net 和 Ms-Access的主要内容,如果未能解决你的问题,请参考以下文章

在设计时从另一个表单引用 UserControl 的组成 TextBox vb.net

为在同一文件中工作的多个用户寻求设计建议

在VB.NET中需要一个类似Excel的网格[关闭]

vb.net中的SQL事务语句

使用带有设计器对象的线程 vb.net

需要帮助将 c# 中的 opencv 转换为 vb.net