我想知道哪个是在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
你怎么看我从我的数据库中取出所有表,现在我想将每个记录存储在一个允许我像表一样访问它的结构中。这个阵列很适合吗?一个列表?哪种方式最好?
答案 0 :(得分:1)
没有最好的办法。你有不同的选择。例如:
DataTable
List(Of T)
。如果您更喜欢使用DataTable
,则使用DataAdapter
填充DataTable
会更加简单。这样,您还可以从List(Of T)
创建DataTable
。
使用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
将在结果集中包含列名称的列。
您也可以使用List(Of T)
以DataTable
方式填写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()
数据:
176023680645013966468226945392411250770384383304492191886725992896575345044216019675
注意强>
如果可以改变您编写应用程序的方式,则可以使用实体框架作为处理数据的好选项。