
Error There is already an open DataReader associated with this Command which must be closed first
Publicado por Nicolas (7 intervenciones) el 01/12/2015 01:09:41
Buenas, tengo el siguiente problema:
En un formulario quiero buscar datos de clientes desde una BD mysql, pero si primero busco uno que no exista, cuando voy a buscar otro por segunda vez pero que si exista me salta el error diciendo que ya tengo un DataReader abierto, revise y no encuentro la razon del mensaje, espero que me puedan ayudar.
Mi codigo:
En un formulario quiero buscar datos de clientes desde una BD mysql, pero si primero busco uno que no exista, cuando voy a buscar otro por segunda vez pero que si exista me salta el error diciendo que ya tengo un DataReader abierto, revise y no encuentro la razon del mensaje, espero que me puedan ayudar.
Mi codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
conexion.Open()
Dim sql10 As String
Dim cmd10 As MySqlCommand
Dim rdr10 As MySqlDataReader
If Not (IsNumeric(txtDoc.Text)) Or txtDoc.Text = "" Then
MsgBox("Ingrese un número valido de documento")
txtDoc.Text = ""
txtDoc.Focus()
End If
If Not (txtDoc.Text = "") Then
sql10 = "select doc, nombres, apellidos from clientes where doc=" & txtDoc.Text
cmd10 = New MySqlCommand(sql10, conexion)
rdr10 = cmd10.ExecuteReader()
If rdr10.Read Then
txtDoc.Text = rdr10.GetString("doc")
txtNombres.Text = rdr10.GetString("nombres")
txtApellidos.Text = rdr10.GetString("apellidos")
rdr10.Close()
Else
MsgBox("¡El cliente no existe!", MsgBoxStyle.Critical, "")
txtDoc.Text = ""
txtDoc.Focus()
rdr10.Close()
End If
End If
conexion.Close()
Valora esta pregunta


0