CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Cargar Textbox

(1/1)

Tagasa:
Hola a todos!  :blink:
Tengo un problema al cargar los datos de una tabla en cajas de texto, me da un error en tiempo de ejecucion que dice: "error de lectura porque no hay datos".

El problema es que en la linea anterior a meter el campo de la tabla en el textbox comprubeo si el datareader tiene lineas y dice que si. Pongo el codigo por si veis el error.

'DECLARACIONES

Dim CNGobex400 As SqlConnection
Dim cm As SqlCommand
Dim Cs As String = "user id=USUARIO;data source=SERVIDOR;persist security info=True;initial catalog=BASEDATOS;password=PW"
Dim Dr As SqlDataReader
Dim sql As String

'Crea los objetos de conexion

CNGobex400 = New SqlConnection(Cs)
sql = "SELECT * from De100m5 where [orden/partida]=@NAME order by [orden/partida]"
cm = New SqlCommand(sql, CNGobex400)

cm.Parameters.Add(New SqlParameter("@NAME", SqlDbType.Char))
cm.Parameters("@NAME").Value = Me.cboOrdenes.Text

'Abre la conexion
CNGobex400.Open()
Dr = cm.ExecuteReader()

'Carga las cajas de texto
If Dr.HasRows Then ****Aqui entra y devuelve true
     txtOrden.Text = Dr.Item("Orden/partida") ****Da el error en esta linea
End If
Muchas gracias,
Tania

Tagasa:
Hola!

Ya lo solucioné, me faltaba en la linea posterior a :
"if Dr.HasRows Then"
la linea:
"dr.read()" :D

The Black Boy:
suele pasar detalles como esos.

Una recomendacion, Cuado postees Code trata de hacerlo de la siguiente manera para mejor entendimiento del mismo


--- Código: Text --- 'DECLARACIONES    Dim CNGobex400 As SqlConnection   Dim cm As SqlCommand   Dim Cs As String = "user id=USUARIO;data source=SERVIDOR;   persist security info=True;initial catalog=BASEDATOS;password=PW"   Dim Dr As SqlDataReader   Dim sql As String 'Crea los objetos de conexion    CNGobex400 = New SqlConnection(Cs)   sql = "SELECT * from De100m5 where [orden/partida]=@NAME    order by   [orden/partida]"   cm = New SqlCommand(sql, CNGobex400)    cm.Parameters.Add(New SqlParameter("@NAME", SqlDbType.Char))   cm.Parameters("@NAME").Value = Me.cboOrdenes.Text 'Abre la conexion   CNGobex400.Open()   Dr = cm.ExecuteReader() 'Carga las cajas de texto   If Dr.HasRows Then ****Aqui entra y devuelve true       txtOrden.Text = Dr.Item("Orden/partida") ****Da el error en esta linea   End If   
Salu2...   :hola:

Navegación

[0] Índice de Mensajes

Ir a la versión completa