为什么OdbcDataReader需要实时连接

时间:2015-01-24 03:46:51

标签: mysql vb.net reader

此代码将给出错误

    Dim mysql As String = " Select roll_no,std_name from student"
    Dim cmd As New OdbcCommand(mysql, conn)
    conn.Open()
    Dim reader As OdbcDataReader = cmd.ExecuteReader
    conn.Close()
    If reader.HasRows = True Then

    End If

但这很好用

    Dim mysql As String = " Select roll_no,std_name from student"
    Dim cmd As New OdbcCommand(mysql, conn)
    conn.Open()
    Dim reader As OdbcDataReader = cmd.ExecuteReader
    If reader.HasRows = True Then

    End If
    conn.Close()

为什么读者总是要求开放式连接从数据库中读取数据?

1 个答案:

答案 0 :(得分:2)

阅读器旨在实际读取数据库中的结果,然后在使用后关闭,并且是ADO.NET中最低级别的数据库访问。

我很少再使用DataReader,而更喜欢DataAdapter.Fill方法来检索结果并返回数据集/表。在幕后,适配器打开一个datareader并填充数据集。 https://msdn.microsoft.com/en-us/library/905keexk(v=vs.110).aspx