VB6/Microsoft Access/DAO 到 VB.NET/SQL Server... 有建议吗?

Posted

技术标签:

【中文标题】VB6/Microsoft Access/DAO 到 VB.NET/SQL Server... 有建议吗?【英文标题】:VB6/Microsoft Access/DAO to VB.NET/SQL Server... Got Advice? 【发布时间】:2010-09-10 07:27:46 【问题描述】:

我可以在 VB6/Access 中创建一个 DAO 记录集做任何事情 - 添加数据、清理数据、移动数据、早上整理数据并将其带到学校。但我什至不知道在 .NET 中从哪里开始。

我从数据库中检索数据没有任何问题,但是当真人需要编辑数据并将其放回时,他们会怎么做?

在 .NET 和 SQL Server 的相关表中编辑、更新和追加数据最简单、最直接的方法是什么?

【问题讨论】:

【参考方案1】:

DataSet 类是开始的地方。正如链接文章所说,创建 DataSet、修改它、然后更新数据库的步骤通常是:

    使用 DataAdapter 使用来自数据源的数据构建和填充 DataSet 中的每个 DataTable。 通过添加、更新或删除 DataRow 对象来更改单个 DataTable 对象中的数据。 调用 GetChanges 方法以创建第二个 DataSet,该数据集仅包含对数据的更改。 调用DataAdapter 的Update 方法,将第二个DataSet 作为参数传递。 调用 Merge 方法将第二个 DataSet 中的更改合并到第一个中。 在数据集上调用 AcceptChanges。或者,调用 RejectChanges 以取消更改。

【讨论】:

【参考方案2】:

来自 DAO 的自然进展 IMO 是 ADO.net。我认为你会发现很容易掌握 DAO 的理解/基础。它使用类似于记录集的 DataAdapter 和 DataSet。 Modifying Data in ADO.NET.

我建议您有机会时查看Linq。

【讨论】:

【参考方案3】:

这里添加 ms-access 作为标签有什么原因吗?在我看来,这个问题只与 Access 最无关紧要,因为一旦您使用 .NET,Access 就完全不存在了。

【讨论】:

这里的相关性是他知道 DAO(MS Access),但想从中分支并学习新技术/方法。有什么比向已经在他身边的专业人士寻求建议更好的方法呢? DAO不是MS-Access技术,而是Jet数据库引擎的数据库接口层,是Access默认使用的引擎。这是一个不容忽视的关键区别。【参考方案4】:

尝试使用oledbConnectionoledbCommandoledbDataReader

from System.data.oledb

如果您使用的是 sqlserver DB,请使用 SqlConnectionsqlCommandsqlDataReader

from System.data.SqlClient

【讨论】:

以上是关于VB6/Microsoft Access/DAO 到 VB.NET/SQL Server... 有建议吗?的主要内容,如果未能解决你的问题,请参考以下文章

参考 Microsoft.Office.interop.access.dao.dll 导致错误 C#

Excel 工作表名称不允许使用 VBA 将数据导入 Access - DAO

在 Access DAO SQL INSERT 中保留尾随空格

MS Access DAO 连接在退出时放弃更改

VB6、MS Access、DAO - 显示列名不为空的所有记录

获取最后插入记录的 ID - Access DAO、ODBC、SQL Server 2008 身份字段