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】:尝试使用oledbConnection
、oledbCommand
和oledbDataReader
from System.data.oledb
如果您使用的是 sqlserver DB,请使用 SqlConnection
、 sqlCommand
和 sqlDataReader
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 中保留尾随空格