gpt4 book ai didi

database - ADO.NET:需要帮助了解 'Dataset' 的基础知识

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:50 25 4
gpt4 key购买 nike

作为背景,我是 ADO.NET 的新手,一直在使用 David Sceppa 的“Programming ADO.NET 2.0”来帮助我积累知识。

我一直在努力理解 Dataset 对象,但认为我可能完全误解了这一点,正在寻求指导。

例如,我构建了一个非常简单的带有组合框的表单,目的是用数据库(“MyDatabase”)中的人名填充组合框。以下代码对我来说工作正常:

    Private Sub frmEmployee_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strConn, strSQL As String
strConn = "Data Source=.\SQLExpress;Initial Catalog=MyDatabase;Integrated Security=True;"
strSQL = "SELECT LastName, FirstName FROM EmployeeTable"

Dim da As New SqlDataAdapter(strSQL, strConn)
Dim ds As New DataSet()
da.Fill(ds, "AllEmployeesList")

For i As Integer = 0 To ds.Tables("AllEmployeesList").Rows.Count - 1
Dim row As DataRow = ds.Tables("AllEmployeesList").Rows(i)
cbAllEmployeesList.Items.Add(row("LastName") & ", " & row("FirstName"))
Next

End Sub

现在假设我的表单上有一个按钮 ('GetAge'),该按钮旨在从数据集“AllEmployeesList”中检索在组合框中选择的员工的年龄,并显示在同一表单的文本框中。

我真的不明白的一点是我如何与我创建的原始数据集交互以获得年龄?在我看来,数据集仅在 Load 事件期间位于内存中?如果我的数据集在 Load 事件之后仍然存在,那么我在哪里可以找到它?

我的理解是,数据集 对象是数据的离线缓存,没有到底层数据库的链接。这很有用,因为它允许您在不保持连接打开的情况下操作数据,稍后您可以将 Dataset 中的任何更改提交回原始数据库。因此,一旦我在 Load 事件中构建了我的数据集,我该如何进一步与它交互?

我怀疑我对什么是Dataset 对象的理解存在很大错误。谁能帮我弄清楚?

感谢任何能提供帮助的人

亚历克斯

最佳答案

一个数据集可以包含多个数据表,因此如果您填充已经填充了“AllEmployeesList”数据表的同一个数据集,您可以使用另一个表名下的年龄填充另一个数据表。将数据集想象成内存中的数据库。

您可以将数据集存储在数据 GridView 的数据源中,或将其设为表单级变量,这样您就可以随时与其进行交互而无需强制转换。

数据集的另一部分需要注意的是,您可以制作设计时数据集,这样事情就更加类型安全和明确了。

关于database - ADO.NET:需要帮助了解 'Dataset' 的基础知识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/872638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com