Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema botón buscar y rellenar campos

Estas en el tema de Problema botón buscar y rellenar campos en el foro de .NET en Foros del Web. Buenas a todos, estoy haciendo un botón para buscar en la bbdd, "access", y que rellene los campos para después poder modificar lo que se ...
  #1 (permalink)  
Antiguo 15/05/2013, 17:07
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Problema botón buscar y rellenar campos

Buenas a todos, estoy haciendo un botón para buscar en la bbdd, "access", y que rellene los campos para después poder modificar lo que se desee pero cuando realizo la accion de buscar el programa rompe y me tira lo siguiente.


Cita:
ExecuteReader: la propiedad Connection no se ha inicializado.
El código del botón es el siguiente.
Cita:
Conect.Conecta()
Cm = New OleDbCommand("SELECT * FROM coleccion WHERE Id = '" & TbIDBusca.Text & "'")
Dr = Cm.ExecuteReader

While Dr.Read()
TbID.Text = CStr((Dr.GetValue(0)))
CbMarca.Text = CStr(Dr.GetValue(1))
TbModelo.Text = CStr(Dr.GetValue(2))
TbColor.Text = CStr(Dr.GetValue(3))
TbSn.Text = CStr(Dr.GetValue(4))
TbImei.Text = CStr(Dr.GetValue(5))
TbOperador.Text = CStr(Dr.GetValue(6))
CbEstado.Text = CStr(Dr.GetValue(7))
CbFunciona.Text = CStr(Dr.GetValue(8))
TbCoste.Text = CStr(Dr.GetValue(9))
TbObservciones.Text = CStr(Dr.GetValue(10))

End While
Espero que me podáis echar una mano.

Muchas gracias.
  #2 (permalink)  
Antiguo 15/05/2013, 19:08
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 7 meses
Puntos: 8
Respuesta: Problema botón buscar y rellenar campos

Hola, segun yo el error esta en la siguiente parte

Código VB.NET:
Ver original
  1. Cm = New OleDbCommand("SELECT * FROM coleccion WHERE Id = '" & TbIDBusca.Text & "'")

Deberia ser, si no estoy mal.

Código VB.NET:
Ver original
  1. Cm = New OleDbCommand(Tu Consulta, Tu Conexion)

Saludos....
  #3 (permalink)  
Antiguo 16/05/2013, 01:07
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

Buenos días emmax, las conexiones las realizo desde una clase, cuando hago una consulta ya sea un insert o un select siempre pongo la conección antes, algo así.

Cita:
BD.Rellena("SELECT MAX(Id) FROM coleccion", "IDF")
Pero si lo hago aquí.
Cita:
BD.Cm = New OleDbCommand("SELECT * FROM coleccion WHERE Id = '" & TbIDBusca.Text & "'")
Me tira lo siguiente.


Lo he puesto de mil maneras, me tiene la cabeza loca ya :S

Gracias por tu respuesta.

EDITO

En la clase tengo lo siguiente
Cita:
'Carga ComboBox y TextBox
Public Sub CargaCbTb(ByVal b As ComboBox, ByVal t As TextBox, ByVal a As String)
ClassConecta.Conecta()
Cm = New OleDbCommand(a, ClassConecta.Cs)
Dr = Cm.ExecuteReader
While Dr.Read
b.Items.Add(Dr.GetValue(0))
t.Text = CStr((Dr.GetValue(1)))
End While
Cm.Dispose()
Dr.Close()
ClassConecta.Desconecta()
End Sub
Debería llamarlo así, "creo"
Cita:
BD.CargaCbTb("SELECT * FROM coleccion WHERE Id = '" & TbIDBusca.Text & "'")
Pero me da otros errores.

Un saludo

Última edición por NazCarLpa; 16/05/2013 a las 01:28
  #4 (permalink)  
Antiguo 16/05/2013, 11:25
Avatar de emmax  
Fecha de Ingreso: agosto-2010
Ubicación: Sonora
Mensajes: 172
Antigüedad: 13 años, 7 meses
Puntos: 8
Respuesta: Problema botón buscar y rellenar campos

Segun yo es parte de lo mismo, a como veo, a lo mejor esto lo haces en otro proceso, pero no veo que hagas un OPEN a tu base de datos o no veo que hagas una referencia a la clase que mencionas y por eso los errores, no se si este entendiendo mal tu codigo, pero segun yo por ahi va.

Saludos...
  #5 (permalink)  
Antiguo 26/05/2013, 05:13
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

Sigo intentándolo y nada, no logro hacerlo.

A ver en la clase tengo lo siguiente:

Cita:
Imports System.Data.OleDb
Public Class ClassBBDD
Public Ds As New DataSet
Public Cm As OleDbCommand
Public Dr As OleDbDataReader
Public Ad As OleDbDataAdapter
Public ClassConecta As New ClassConecta

Public Property Dt() As DataSet
Get
Return Ds
End Get
Set(ByVal value As DataSet)
Ds = value
End Set
End Property
Y en el Modulo lo siguiente

Cita:
Imports System.Data.OleDb
Module ModFuncInsertar

Public BD As New ClassBBDD

'Carga la página web del proveedor en el campo de texto
Sub TbWeb()
If FormInsertarServicios.CbProveedor.SelectedIndex <> 0 Then

Else
FormInsertarServicios.CbProveedor.SelectedIndex = 0
End If
End Sub

Clase conecta:
Cita:
Imports System.Data.OleDb
Public Class ClassConecta

'Contructor
Private Cx As OleDbConnection

'Conectar a la bbdd
Public Sub Conecta()
Cx = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=GESPRICE.accdb;")
Cx.Open()
End Sub

'Desconecta el programa de la bbdd
Public Sub Desconecta()
If Cx.State = ConnectionState.Open Then
Cx.Close()
End If
End Sub

'Devuelve el valor del objeto
Public ReadOnly Property Cs() As OleDbConnection
Get
Return Cx
End Get
End Property

End Class


La pregunta es.

Cómo puedo rellenar el TextBox sin tener que crear otra conexión dado que ya la tengo creada en la clase conecta que es la que llama la clase bbdd.

Espero vuestra ayuda.
  #6 (permalink)  
Antiguo 28/05/2013, 15:46
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

Nadie sabría decirme ?
  #7 (permalink)  
Antiguo 29/05/2013, 12:15
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

en tus metodos conecta() y desconecta()

en lugar de ser publicos tienen que ser compartidos
es por ello que nunca recibe la cadena de conexión

'Conectar a la bbdd
Shared Sub Conecta()
Cx = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=GESPRICE.accdb;")
Cx.Open()
End Sub

'Desconecta el programa de la bbdd
Shared Sub Desconecta()
If Cx.State = ConnectionState.Open Then
Cx.Close()
End If
End Sub

Pruebalo y me cuentas que paso?

Última edición por aid_val; 29/05/2013 a las 12:19 Razón: a
  #8 (permalink)  
Antiguo 29/05/2013, 12:34
Avatar de aid_val  
Fecha de Ingreso: mayo-2013
Ubicación: Guanajuato
Mensajes: 302
Antigüedad: 10 años, 10 meses
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

y la linea de tu comando si tiene que estar asi
Cm = New OleDbCommand("SELECT * FROM coleccion WHERE Id = '" & TbIDBusca.Text & "'", tu_conexion)

en tu conexion ya iria tu metodo compartido para traer la cadena de conexion, pruebalo y me cuentas que pasa?
  #9 (permalink)  
Antiguo 04/06/2013, 17:11
 
Fecha de Ingreso: marzo-2009
Ubicación: España
Mensajes: 371
Antigüedad: 15 años
Puntos: 5
Respuesta: Problema botón buscar y rellenar campos

Si lo pongo como shared me da error.

Cita:
No se puede hacer referencia a un miembro de instancia de una clase desde un método compartido o un inicializador de método compartido sin una instancia explicita de la clase
Si la conección la tengo en public no me da error y me funciona en todas las funciones que la llamo para hacer todas las demás consultas, sólo falla en esta del botón buscar.

Etiquetas: bd, campos, rellenar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.