【问题标题】:there is already an open datareader associated with this command which must be closed first. vb.net 2010已经有一个与此命令关联的打开的数据读取器,必须先关闭。 VB.net 2010
【发布时间】:2017-04-17 13:34:00
【问题描述】:
CMD = New SqlCommand("Select * From Jenis where KodeJenis='" & CBjenis.Text & "'", CONN)

RD = CMD.ExecuteReader()
CONN.Open()
RD.Read()

If RD.HasRows = True Then
     TextBox2.Text = RD.Item(1)
Else
     MsgBox("Kode jenis ini tidak terdaftar")
End If

什么问题?

【问题讨论】:

  • 确保关闭之前与数据库的连接,请向我们提供完整的错误日志和您上课的目的。
  • 第一个:在调用阅读器之前尝试打开连接。第二:结束后关闭阅读器(也可能是连接)。

标签: vb.net vb.net-2010


【解决方案1】:

尝试使用Using End Using 语法来避免未关闭的连接。

   Dim rd As SqlDataReader
        Using CMD = New SqlCommand
            CMD.CommandText = "Select * From Jenis where KodeJenis='" & CBjenis.Text & "'"
            CMD.CommandType = CommandType.Text
            CMD.Connection = CONN
            CMD.Connection.Open()
            rd = CMD.ExecuteReader

            If rd.Read() Then
                TextBox2.Text = rd.Item(1)
            Else
                MsgBox("Kode jenis ini tidak terdaftar")
            End If
        End Using
    End Sub

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    相关资源
    最近更新 更多