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

Cual es el error? Insertar datos a textbox

Estas en el tema de Cual es el error? Insertar datos a textbox en el foro de .NET en Foros del Web. Buenos Dias, Bueno amigos aca tengo un inconveniente medio raro, tengo que llenar varios textbox con datos de una BD.. tengo el codigo y todo.. ...
  #1 (permalink)  
Antiguo 06/08/2012, 09:31
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Exclamación Cual es el error? Insertar datos a textbox

Buenos Dias,
Bueno amigos aca tengo un inconveniente medio raro, tengo que llenar varios textbox con datos de una BD.. tengo el codigo y todo.. lo curioso aqui es que en 1 FORM el codigo funciona a la perfeccion, pero en otro no lo hace.. :s

aca les dejo el codigo para ver si me pueden ayudar:

Código vb:
Ver original
  1. Dim dt As New DataTable
  2.         Dim conec As New MySqlConnection("Server=localhost; Database=controlsmi; user=root; password=Smi2012") 'cadena conexion
  3.        Dim consulta As String = "Select nombre, sede, direccion, nombre_contacto, telefono_contacto from proveedor where ID_proveedor =" + cboproveedor4.SelectedValue.ToString
  4.         Dim cmd As New MySqlCommand(consulta, conec)
  5.  
  6.         Dim dr As MySqlDataReader
  7.  
  8.         conec.Open()
  9.  
  10.         dr = cmd.ExecuteReader()
  11.  
  12.         If dr.Read() Then
  13.             Me.txtveamosssss.Text() = dr.Item("nombre").ToString()
  14.             Me.txtpruebaaaass.Text() = dr.Item("sede").ToString()
  15.             Me.txtmdpro.Text() = dr.Item("direccion").ToString()
  16.             Me.txtmnpro.Text() = dr.Item("nombre_contacto").ToString()
  17.             Me.txtmtpro.Text() = dr.Item("telefono_contacto").ToString()
  18.         End If
  19.         dr.Close()
  20.         conec.Close()

El error ocurre en:
Código vb:
Ver original
  1. dr = cmd.ExecuteReader()
me dic lo siguiente :"Unknown column 'System.Data.DataRowView' in 'where clause'"

PD: trabajo cn windows forms, BD Mysql..

Gracias de antemano. Saludos
__________________
David`Novato
  #2 (permalink)  
Antiguo 06/08/2012, 10:12
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

El error lo tienes en la consulta en el where primeramente te faltan los parentesis del metodo Tostring(), pero bueno de todos modos no lo hagas así usa parámetros.
Código vb.net:
Ver original
  1. Dim consulta As String = "Select nombre, sede, direccion, nombre_contacto, telefono_contacto from proveedor where ID_proveedor =@id"
  2. Dim cmd As New MySqlCommand(consulta, conec)
  3. cmd.Parameters.AddWithValue("@id", cboproveedor4.SelectedValue.ToString())
  4. 'TU DEMÁS CODIGO

Ademas porque declaras un datatable al principio si utilizas datareader.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #3 (permalink)  
Antiguo 06/08/2012, 11:11
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Hice lo que me dijste y da error.. dice :"Referencia a objeto no establecida como instancia de un objeto." en la linea
Código vb:
Ver original
  1. cmd.Parameters.AddWithValue("@id", cboproveedor4.SelectedValue.ToString())

:S .. Como te digo es raro porq en otros forms sii funciona ese codigo..
__________________
David`Novato
  #4 (permalink)  
Antiguo 06/08/2012, 11:43
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

Pues si esta raro y en los otros form utilizas el combobox para filtrar los datos?

El combobox esta enlazado a un origen de datos vdd?
Has definido las propiedades ValueMember y DisplayMember del combobox
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #5 (permalink)  
Antiguo 06/08/2012, 13:09
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Si en el otro forms utilizo un combobox para filtrar los datos, si esta enlazado a un origen de datos, y sii he definido las propiedades.. por eso me extraña que no funcione :/
__________________
David`Novato
  #6 (permalink)  
Antiguo 06/08/2012, 13:11
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Cual es el error? Insertar datos a textbox

En que evento realizas la invocación de estas lineas de código
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #7 (permalink)  
Antiguo 06/08/2012, 14:37
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

cboproveedor4.SelectedIndexChanged
__________________
David`Novato
  #8 (permalink)  
Antiguo 06/08/2012, 15:44
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Cual es el error? Insertar datos a textbox

Entonces ahi puede estar el error lo que sucede es que cuando carga el load del formulario siempre se ejecuta los eventos que sean de tipo change para estos debes validarlos de la siguiente forma para que no te parezca algún error

Código vb.net:
Ver original
  1. Dim cargo as boolean = false
  2. public sub form1_load()
  3. // al final de tu codigo
  4. cargo = true
  5. end sub

luego en cualquier evento que sea de tipo change o otro pon esto y debes validar siempre que en cada funcion que se llama en el load y que involucre controles con evento change validar primero si la variable cargo = true sino entonces envia como nothing

Código vb.net:
Ver original
  1. public sub cboproveedor4_SelectedIndexChanged()
  2. if cargo then
  3. // aca pones lo que quieres hacer, si es que hubiera codigo
  4. end if
  5. end sub
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #9 (permalink)  
Antiguo 07/08/2012, 07:46
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Dradi7! Hice lo que me dijiste y funciono .. me llena todos los textbox sin problemas.. como esos forms son para modificar los datos, una vz q los modifico y le doy al boton guardar me aparece el mismo error .. "Referencia a objeto no establecida como instancia de un objeto." en la misma linea de codigo.. :S

Código vb:
Ver original
  1. Dim consulta As String = "Select nombre, sede, direccion, nombre_contacto, telefono_contacto from proveedor where ID_proveedor =" + cboproveedor4.SelectedValue.ToString()
__________________
David`Novato

Última edición por DavidNovato; 07/08/2012 a las 08:53
  #10 (permalink)  
Antiguo 07/08/2012, 10:33
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

Revisando detenidamente tu código y por el error que te muestra es que al momento de declarar el dataerader no declaraste la instancia del mismo es decir te falto New.
Código vb.net:
Ver original
  1. Dim dr As New MySqlDataReader
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #11 (permalink)  
Antiguo 07/08/2012, 11:03
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Intente lo que me dijste.. pero m subraya la variable "dr" y m dice lo siguiente :

No se puede tener acceso a 'MySql.Data.MySqlClient.MySqlDataReader.Private Sub New(cmd As MySql.Data.MySqlClient.MySqlCommand, statement As MySql.Data.MySqlClient.PreparableStatement, behavior As System.Data.CommandBehavior)' en este contexto debido a que es 'Private'.
__________________
David`Novato
  #12 (permalink)  
Antiguo 07/08/2012, 11:27
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

Si se me fue asi esta mal. Borra esa linea donde lo declaras esa linea y la declaras hasta que ejecutes el comando.
Código vb.net:
Ver original
  1. Dim dr As MySqlDataReader = cmd.ExecuteReader()
Pero seria igual a como la tenias antes, pero dices que te carga los datos en los textbox y que el error te lo muestra cuando haces la actualización de los datos, como actualizas los datos.
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #13 (permalink)  
Antiguo 07/08/2012, 12:57
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

En el forms aparte de los textbox, tngo 2 combobox.. ya verifique y el problema es la manera en la actulizo los combobox que es de la siguiente manera :
Código vb:
Ver original
  1. cboproveedor4.DataSource = Nothing
  2.         cboproveedor4.DataSource = DatosProveedor()
  3.         cboproveedor4.DisplayMember = "nombre"
  4.         cboproveedor4.ValueMember = "ID_proveedor"
  5.         cboproveedor4.SelectedIndex = -1

asi actualizo el combobox, quite ese codigo y al ejecutarlo no me da error... pero necesito que se actualicen :/ cual seria otra manera d actualizar? para que no m de error?
__________________
David`Novato
  #14 (permalink)  
Antiguo 07/08/2012, 15:05
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

Pero despues que haces el update volves a llenar tu combobox, osea después que actualizas los datos tenes que volver a cargar los datos del combobox con el código que has puesto la primera linea quitarla.

Código vb.net:
Ver original
  1. 'AQUÍ TIENES EL CÓDIGO PARA EL UPDATE
  2.  
  3. 'LUEGO SOLO VOLVES A CARGAR LOS DATOS AL COMBOBOX
  4.  
  5. cboproveedor4.DataSource = DatosProveedor()
  6. cboproveedor4.DisplayMember = "nombre"
  7. cboproveedor4.ValueMember = "ID_proveedor"

Así lo haces?
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #15 (permalink)  
Antiguo 07/08/2012, 15:45
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Si lo hago de esa manera.. pero con esta linea primero :
Código vb:
Ver original
  1. cboproveedor4.DataSource = Nothing
porq vacio el combo y luego lo vuelvo a cargar, vez?
__________________
David`Novato

Última edición por DavidNovato; 07/08/2012 a las 15:55
  #16 (permalink)  
Antiguo 07/08/2012, 16:34
Avatar de cristiantorres  
Fecha de Ingreso: marzo-2012
Mensajes: 383
Antigüedad: 12 años, 1 mes
Puntos: 61
Respuesta: Cual es el error? Insertar datos a textbox

Pues si que esta raro tu caso, y la actualización a los datos los haces en el mismo form donde tienes este combobox o haces el update en otro form?
__________________
Visita mi Blog C#, vb.net, asp.net, sql, java y mas...
Blog Cristian Torres
  #17 (permalink)  
Antiguo 08/08/2012, 01:44
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Cual es el error? Insertar datos a textbox

Primero verifica bien si en tu
cboproveedor4.SelectedValue devuelve algo, en caso no devuelva nada es decir devuela null o nothing y tu al estar haciendo esto cboproveedor4.SelectedValue.ToString() generara error la forma correcta de poder convertir objetos posibles null a string es de la siguientes formas

Convert.ToString(cboproveedor4.SelectedValue)
String.Format("{0:G}",cboproveedor4.SelectedValue)

Ambas devolveran ya correctamente el dato sin que se genere el error molesto

Lo que si es que debes ver si esta correctamente enlazado tu combobox y si al momento de guardar tiene un dato o un valor en la propiedad de SelectedValue siempre trata de realizar seguimiento paso a paso tu código
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #18 (permalink)  
Antiguo 08/08/2012, 08:05
 
Fecha de Ingreso: junio-2012
Ubicación: Caracas-Venezuela
Mensajes: 114
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: Cual es el error? Insertar datos a textbox

Si cristiantorres en el mismo forms.!.. lo curiosoo es que ese mismo procedimiento lo tengo en otro forms que tambn es de modificacion y funciona sin problemas :S es lo que no entiendo xq en uno funciona bien y en el otro me da ese error...

Dradi7 intentare lo que dices a verrr...
__________________
David`Novato

Etiquetas: sql, textbox, windows
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 08:34.