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

ayuda para guardar datos de un combobox en bdd

Estas en el tema de ayuda para guardar datos de un combobox en bdd en el foro de .NET en Foros del Web. hola a todos como andan, espero que bien soy nuevo en este foro y con ello mi primer tema estoy haciendo una aplicacion en visual ...
  #1 (permalink)  
Antiguo 22/07/2010, 11:21
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
De acuerdo ayuda para guardar datos de un combobox en bdd

hola a todos como andan, espero que bien

soy nuevo en este foro y con ello mi primer tema

estoy haciendo una aplicacion en visual basic 2008 con una base de datos mysql
mi problema es el siguiente tengo dos tablas cliente y ciudad respectivamente

cliente
idCli -- nomcli -- apellido -- Idciudad
1 int *** varchar *** varchar 1 int
2 int *** varchar *** varchar 2 int

ciudad
Idciu --- NomCiu
1 int *** varchar
2 int *** varchar

en el formulario cliente tengo 3 textbox y un combobox para insertar los datos en la tabla cliente de la bdd.

lo que quiero hacer es que en ves de cargar en el combobox los datos de idCiudad cargue los datos de NomCiu y a la hora de guardar los datos no me arroje error
  #2 (permalink)  
Antiguo 22/07/2010, 12:00
Avatar de atak  
Fecha de Ingreso: julio-2005
Ubicación: Huancayo
Mensajes: 490
Antigüedad: 18 años, 9 meses
Puntos: 5
De acuerdo Ayuda para guardar datos de un combobox en bdd

Hola, carlox1789

Deberías tener estas consideraciones :

Código PHP:

cliente
-------
idCli 
nomcli 
apellido 
Idciu 
Llave Secundaria )

ciudad
--------
Idciu     Llave Primaria )
NomCiu 
- Si ya lograste hacer la grabacion en la BD de los datos en ambas tablas. Bien.

- Para que puedas visualizar el Nombre en el Combo tienes que utilizar la propiedad SelectValue del ComboBox.
__________________
. .: El mejor Inicio :. .
  #3 (permalink)  
Antiguo 22/07/2010, 16:54
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

ps mi problema no es a la hora de visualizar el nombreCiudad en el combobox ya que los nombre de las ciudades los cargo al combo por medio de una consulta "select NomCiu from ciudad" mi problema es que tanto el campo Idciudas de la tabla cliente y el campo Idciudad de la tabla ciudad son de tipo int y la consulta que yo cargo a el combo es de tipo string y si guardo me va a generar problemas por el tipo de datos que se almacenaria, yo lo que quiero hacer es que en el combo me aparescan los nombres de la ciudad y a la hora de guardar esos datos a la BD me guarde el ID que Corresponde a esa ciudad que esta en el combo

ej:

tabla ciudad tabla cliente
id nomciu id nomcli apecli Idciud
1 madrid 1 *** **** 1

al combo cargo los nombres de la ciudad de la tabla ciudad

el contenido del combo ahora seria este= combobox("Madrid")

y a la hora de gusrdar los datos de la tabla cliente no guardaria madrid sino el id al que coresponde que es igual 1

tabla cliente
id nomcli apecli Idciud
1 *** **** 1

me explico mejor
  #4 (permalink)  
Antiguo 23/07/2010, 14:05
Avatar de NProgram  
Fecha de Ingreso: julio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: ayuda para guardar datos de un combobox en bdd

Tendrias que hacer la busqueda nuevamente en la tabla ciudad al momento de guardar, la consulta seria:

Código MySQL:
Ver original
  1. "SELECT idciud FROM ciudad WHERE nomciu ='" & combobox.Text & "'"

y asi obtener el idciu de la ciudad seleccionada.

Saludos desde Chile.
  #5 (permalink)  
Antiguo 24/07/2010, 08:56
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

ps tu idea serviria, ya que podria agregar un label ami formulario con su propiedad visible=false para que este oculto y el resulado de la consulta que planteas mandarselo al label entonces cuando seleccione cualquier contenido del combobox con su evento ComboBox1_SelectedIndexChanged el respectivo Id de cada ciudad se va a mostrar en el label y entonces a la hora de guardar los datos ya no gurdaria lo que tiene el combo sino el contenido del label, no he propabo a un esto ke plantee se me ocurrio por medio de la consulta ke me pasaste dandole logica creo ke funciona gracias de antemano.

pero me gustaria saber si hay alguna otra solucion mas practica, de igual forma gracias NPROGRAM tu ayuda me aclaro un poco mas.
si no hay alguna otra solucion implementare esta.
  #6 (permalink)  
Antiguo 24/07/2010, 09:24
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

Saludos,

Te adjunto un procedimiento al cual le envías el combo box en mención y el query y te lo devuelve ya lleno en el indice el numero y visible la descripcion, no programo actualmente en .net pero hace poco lo hice y funciona perfectamente.

comentame si te sirvio

Public Sub Carga_Combo(ByVal combo As ComboBox, ByVal query As String)

Dim obj_Conn As New OleDb.OleDbConnection

Dim obj_Comm As New OleDb.OleDbCommand

Dim obj_DatR As OleDb.OleDbDataReader

Dim strItem As String



Try

obj_Conn.ConnectionString = cs

obj_Conn.Open()

obj_Comm.Connection = obj_Conn

obj_Comm.CommandType = CommandType.Text

obj_Comm.CommandText = query

obj_DatR = obj_Comm.ExecuteReader



combo.Items.Clear()



Do While obj_DatR.Read

strItem = obj_DatR.Item(1).ToString.Trim

combo.Items.Add(strItem)

Loop



obj_DatR.Close()

obj_Conn.Close()



If combo.Items.Count > 0 Then combo.SelectedIndex = 0



Catch ex As Exception

MessageBox.Show(ex.Message, "De administrador")

End Try



End Sub
  #7 (permalink)  
Antiguo 24/07/2010, 09:25
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

me olvidaba con eso al enviar a la base tan solo envías el index del elemento del combo
  #8 (permalink)  
Antiguo 24/07/2010, 09:26
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

Código PHP:
Public Sub Carga_Combo(ByVal combo As ComboBoxByVal query As String)

        
Dim obj_Conn As New OleDb.OleDbConnection

        Dim obj_Comm 
As New OleDb.OleDbCommand

        Dim obj_DatR 
As OleDb.OleDbDataReader

        Dim strItem 
As String



        
Try

            
obj_Conn.ConnectionString cs

            obj_Conn
.Open()

            
obj_Comm.Connection obj_Conn

            obj_Comm
.CommandType CommandType.Text

            obj_Comm
.CommandText query

            obj_DatR 
obj_Comm.ExecuteReader



            combo
.Items.Clear()



            Do While 
obj_DatR.Read

                strItem 
obj_DatR.Item(1).ToString.Trim

                combo
.Items.Add(strItem)

            
Loop



            obj_DatR
.Close()

            
obj_Conn.Close()



            If 
combo.Items.Count 0 Then combo.SelectedIndex 0



        
Catch ex As Exception

            MessageBox
.Show(ex.Message"De administrador")

        
End Try



    
End Sub 
  #9 (permalink)  
Antiguo 24/07/2010, 10:04
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

Otra Opcion es El Evento change


Guardes en la Propiedad Tag el Id y en el change cambias el id segun corresponda

entonses para tu guardado en la bd hace referencia la tag selecionnado


algo asi como


insert into clientes (idCiudad) values ( " & me.combobox1.tag & " )
  #10 (permalink)  
Antiguo 24/07/2010, 21:33
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

gracias oeramos por aportar, pero el procedimiento que me pasas entiendo que es para obtener el index del elemento que selecciono del combo, es asi ?

si es asi no me serviria, aunque puedo estar errado si es asi me corriges

gracias ;D
  #11 (permalink)  
Antiguo 24/07/2010, 21:35
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

gracias por intersarte JeremiasBadilla te lo agradesco, pero no entiendo lo ke kieres plantear

si me puedes explicar mas detalladamente te lo agradeceria.
  #12 (permalink)  
Antiguo 24/07/2010, 21:54
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

y de la forma en la ke crei ke podria dar resultado no da :( en donde agrego el label ya que las dos consultas las tengo cada una en un sub coreespondiente, una de ellas depende de la otra que es la consulta SELECT IDCIU FROM CIUDAD WHERE NOMCIU='" & combobox.TEXT & "'" que cargo al label esta se dispara cuando selecciono alguna ciudad que contiene el combo la consulta del combo es SELECT NOMCIU FROM CIUDAD y a la hora de seleccionarla me arroja un error "intento no válido de leer cuando el lector está cerrado"

el procedimiento que contiene esta consulta SELECT NOMCIU FROM CIUDAD lo cargo en el load del formulario y el otro procedimiento a el evento selectedindexchanged del combo

vaya me esta dando por la cabeza esto :S
  #13 (permalink)  
Antiguo 28/07/2010, 10:38
 
Fecha de Ingreso: julio-2010
Mensajes: 5
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

saludos,
el procedimiento que postee le podrias enviar
SELECT
Idciu,
NomCiu
FROM ciudad;

con eso te devuelve el combo que enviaste con la descripcion en el area visible y de manera invisible en el index del combobox el dato que te interesa insertar en la base que seria el IdCiu, luego al enviar a hacer el insert enviarias algo asi:
Aclaratorio: no recuerdo muy bien la sintaxis de .NET jeje pero ahi va.

insert into cliente values(
txtidCli nomcli apellido Idciudad (este id ciudad seria el valor que recuperas del combo cmb.getselectedindex)
)

Comentame si me hago entender jeje
  #14 (permalink)  
Antiguo 28/07/2010, 12:53
 
Fecha de Ingreso: julio-2010
Mensajes: 12
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: ayuda para guardar datos de un combobox en bdd

Cita:
Iniciado por oeramos Ver Mensaje
saludos,
el procedimiento que postee le podrias enviar
SELECT
Idciu,
NomCiu
FROM ciudad;

con eso te devuelve el combo que enviaste con la descripcion en el area visible y de manera invisible en el index del combobox el dato que te interesa insertar en la base que seria el IdCiu, luego al enviar a hacer el insert enviarias algo asi:
Aclaratorio: no recuerdo muy bien la sintaxis de .NET jeje pero ahi va.

insert into cliente values(
txtidCli nomcli apellido Idciudad (este id ciudad seria el valor que recuperas del combo cmb.getselectedindex)
)

Comentame si me hago entender jeje
jaja estoy un poco confuso, si el procedimiento ke posteas tiene dos parametros uno es el combobox y el otro es el query en donde viene la consulta SELECT Idciu,
NomCiu FROM ciudad; entonces la variable strItem le asignas obj_DatR.Item(1).ToString.Trim pero obj_Datr no trae la consulta el ke la trae es el query por eso
no entiendo muy bien jeje.

Etiquetas: combobox, bbdd
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 20:52.