使用数据集的Load方法或DataAdapter的Fill方法之间的区别

时间:2014-05-22 05:24:23

标签: sql-server odbc

有人能告诉我两种以下两种从SQL DB中创建记录的方法的区别吗?

声明

Dim Cmd As New OdbcCommand
Dim OdbcDr As OdbcDataReader
Dim OdbcAd As OdbcDataAdapter

方法一:使用OdbcDataReader并在数据表中加载数据

OdbcDr = Cmd.ExecuteReader()
dt.Load(OdbcDr)
Return dt

方法二:使用OdbcDataAdapter并填充数据表中的数据

OdbcAd = New OdbcDataAdapter(Cmd)
OdbcAd.Fill(dt)
Return dt

我应该使用哪种方法?

1 个答案:

答案 0 :(得分:0)

DataReader正是它听起来的样子,所有它都是从源读取的,并允许你对结果做任何事情。相比之下,DataAdapter是您与数据之间的双向桥梁。您可以使用Fill()方法从连接中检索数据,但它也可以反过来运行,您可以使用Update()方法将DataSet / DataTable中的更改传递到数据库中。

AFAIK没有真正的理由使用DataReader所做的DataAdapter,它应该更快。

Here's有关它的一些文献。