SO 社区
我刚开始使用 ADO.NET,对编程还很陌生。我已经从这个社区获得了一些支持,这非常有用,但我有另一个问题。
简单来说,我正在创建一个简单的 Windows 窗体,其中包含员工姓名的组合框和一个按钮,这样当用户单击该按钮时,所选员工的电子邮件地址就会出现在窗体的文本框中。
在我的项目中,我有数据库并在加载表单时连接到我的数据库并创建一个数据表,如下所示:
Public Class GetEmployeeDataset
Private tbl As New DataTable
Public Sub New()
Dim strConn, strSQL As String
strConn = "Data Source=.\SQLExpress;Initial Catalog=MyDatabase;Integrated Security=True;"
strSQL = "SELECT * FROM EmployeeTable"
Dim da As New SqlDataAdapter(strSQL, strConn)
da.Fill(tbl)
End Sub
End Class
此时我有两个问题:
- 我使用的是 DataTable 而不是 DataSet,因为据我所知,DataSet 是 DataTable 的集合,而我这里只有一个简单的 DataTable(5 列,100 行),因此使用 DataTable 似乎更容易.这有什么问题吗?
- 现在我有了一个 DataTable(在我的示例中为“tbl”),我该如何查询该 DataTable 以检索正确的数据,即基于员工姓名的 EmailAddress?在 SQL 中,它将是“SELECT EmailAddress WHERE EmployeeName = SelectedItem”。我已经查看过使用 DataTable 的 Select 方法但无济于事,然后我使用 DataView 的 RowFilter 方法但没有任何成功。
谁能指出我正确的方向?
亚历克斯
最佳答案
我根本不使用数据集或数据表。我发现使用它们的唯一原因是如果您想“离线”保存所有数据,对数据进行更改,然后根据需要将这些更改提交回数据库。
如果您所做的只是根据用户交互从服务器获取数据,那么使用 DataTable 可能有点过分了。
编辑:哦,回答你的实际问题:
- 听起来不错,因为您只需要一张 table 。
- 对 DataTable 使用 Select 方法(它将返回满足 where 条件的 DataRow 数组)
关于.net - ADO.NET:DataSet 或 DataTable 以及如何检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/879381/