Vb.net 如何存储数据库结果集?
我想知道在Vb.net 如何存储数据库结果集?,vb.net,Vb.net,我想知道在vb.net中存储数据库值的最佳方法,例如,我有以下代码: Dim conn As MySqlConnection = Connection() 'Return a connection obj conn.Open() Dim transaction = conn.BeginTransaction Dim cmd = New MySqlCommand("SELECT * FROM tb ORDER BY ID") Dim ResultSet = Cmd.ExecuteRea
vb.net
中存储数据库值的最佳方法,例如,我有以下代码:
Dim conn As MySqlConnection = Connection() 'Return a connection obj
conn.Open()
Dim transaction = conn.BeginTransaction
Dim cmd = New MySqlCommand("SELECT * FROM tb ORDER BY ID")
Dim ResultSet = Cmd.ExecuteReader
If ResultSet.HasRows Then
Do While ResultSet.Read
'Here the value should be store
Loop
End if
您可以看到我从数据库中获取所有表,现在我希望将每个记录存储在一个允许我像表一样访问它的结构中。数组适合这样做吗?名单?哪种方法最好?没有最好的方法。你有不同的选择。例如:
- 作为一个选项,您可以使用
DataTable
- 您还可以将值存储在通用
中列表(共T个)
DataTable
,则使用DataAdapter
填充DataTable
会更简单。通过这种方式,您还可以从数据表创建列表(共T个)
使用DataDapter填充DataTable的示例
Dim Connection = "Connection String"
Dim Command = "SELECT * FROM Category"
Dim Adapter = New SqlDataAdapter(Command, Connection)
Dim Table = New DataTable()
Adapter.Fill(Table)
这样,DataTable
将在结果集中具有列名称的列
此外,您还可以使用DataTable
以以下方式将数据填入列表(共T个)
:
Dim ListOfCategory = Table.Rows.Cast(Of DataRow) _
.Select(Function(Row)
Return New Category With
{
.Id = Row.Field(Of Integer)("Id"),
.Name = Row.Field(Of String)("Name")
}
End Function).ToList()
注意
如果您可以更改编写应用程序的方式,您可以使用实体框架作为处理数据的良好选择。没有最佳方法。作为一个选项,您可以使用数据表
也可以将值存储在通用列表中
嗯,您建议使用数据表?您想在哪里使用结果?除了数据表之外,您还可以考虑像我需要存储结果这样的对象关系映射器,因为下次我需要迭代(列表?)嗯,记录存储的地方。。比较一些特定的领域。不幸的是,我没有实体框架的经验