已存在与此命令关联的打开的datareader,必须先关闭该命令。vb.net 2010

已存在与此命令关联的打开的datareader,必须先关闭该命令。vb.net 2010,vb.net,vb.net-2010,Vb.net,Vb.net 2010,什么问题?尝试使用使用End和语法来避免未关闭的连接 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("K

什么问题?

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

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

请确保关闭以前与数据库的连接,请向我们提供完整的错误日志和类的用途。1:在调用读取器之前尝试打开连接。第二:结束if后关闭读卡器(也可能是连接)。
   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