SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Tagasa en Miércoles 14 de Junio de 2006, 16:23

Título: Cargar Textbox
Publicado por: Tagasa en Miércoles 14 de Junio de 2006, 16:23
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
Título: Re: Cargar Textbox
Publicado por: Tagasa en Miércoles 14 de Junio de 2006, 17:43
Hola!

Ya lo solucioné, me faltaba en la linea posterior a :
"if Dr.HasRows Then"
la linea:
"dr.read()" :D
Título: Re: Cargar Textbox
Publicado por: The Black Boy en Miércoles 14 de Junio de 2006, 22:36
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
  1.  
  2. 'DECLARACIONES
  3.  
  4.    Dim CNGobex400 As SqlConnection
  5.    Dim cm As SqlCommand
  6.    Dim Cs As String = "user id=USUARIO;data source=SERVIDOR;
  7.    persist security info=True;initial catalog=BASEDATOS;password=PW"
  8.    Dim Dr As SqlDataReader
  9.    Dim sql As String
  10.  
  11. 'Crea los objetos de conexion
  12.  
  13.    CNGobex400 = New SqlConnection(Cs)
  14.    sql = "SELECT * from De100m5 where [orden/partida]=@NAME
  15.    order by   [orden/partida]"
  16.    cm = New SqlCommand(sql, CNGobex400)
  17.  
  18.    cm.Parameters.Add(New SqlParameter("@NAME", SqlDbType.Char))
  19.    cm.Parameters("@NAME").Value = Me.cboOrdenes.Text
  20.  
  21. 'Abre la conexion
  22.    CNGobex400.Open()
  23.    Dr = cm.ExecuteReader()
  24.  
  25. 'Carga las cajas de texto
  26.    If Dr.HasRows Then ****Aqui entra y devuelve true
  27.        txtOrden.Text = Dr.Item("Orden/partida") ****Da el error en esta linea
  28.    End If
  29.  
  30.  
  31.  

Salu2...   :hola: