none
comobobox enlazado a base de datos RRS feed

  • Pregunta

  • Hola a todos como podria resolver el siguiente problema me podran ayudar con esto??

    en un formulario tengo un combobox que me permite filtrar la busqueda que quiero es decir busco por dni,apellido y nombre

    dependiendo del item que seleccione del combo tengo que lograr recuperar la sentencia select que tengo guardada en una tabla en el campo "query" de mi base de datos

    por ejemplo si selecciono dni  del combo

    tendria que recuperar esa sentencia guardada y mostrarla en un listview

    con esto por ejemplo
    si selecciono apellido  del combo en el texbox escribira el apellido y el resultado me lo trae a un listview(cosa que ya lo tengo resuelto)
    
    If CboBuscar.SelectedIndex = 0 Then
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Apellido like ('%" + TxtBuscar.Text + "%')")
            ElseIf CboBuscar.SelectedIndex = 1 Then
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Nombre like ('%" + TxtBuscar.Text + "%')")
            ElseIf CboBuscar.SelectedIndex = 2 Then
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Dni like ('%" + TxtBuscar.Text + "%')")
            End If

    lo anterior no me sirve de la manera que lo quiero hacer

    esta el la select que tengo que recuperar de la tabla que pertence al campo quey

    SELECT Id_usuario, CONCAT(Apellido, ', ', Nombre) AS Apyn, Perfil, Dni FROM usuarios, perfiles WHERE usuarios.Id_perfil = perfiles.Id_perfil


    desde ya muchas gracias!!!!
     

    millo

    • Cambiado Enrique M. Montejo lunes, 6 de noviembre de 2017 8:15 Pregunta relacionada con el acceso a datos.
    lunes, 30 de octubre de 2017 1:07

Todas las respuestas

  • Hola:

    ¿Puedes poner las estructuras de las tablas usuarios y perfiles para saber de que tabla son los campos que quieres seleccionar?

    Un saludo desde Bilbo
    Carlos
    lunes, 30 de octubre de 2017 6:20
  • Hola:

    ¿Puedes poner las estructuras de las tablas usuarios y perfiles para saber de que tabla son los campos que quieres seleccionar?

    Un saludo desde Bilbo
    Carlos

    Hola Carlos quisas no me explique bien, tengo solucionado lo del combo el combo me desplega las opciones de busqueda es decir buscar por dni o apellido  o nombre , ese no es el problema... 

    MI problema esta que yo ya tengo una sentencia armada en una tabla de mi base de datos 

    esa select a su ves se encuentra en un campo llamado query 

    lo que yo tengo que hacer es recuperar esa select...Por ejemplo si del combo selecciono apellido ACA LA LOGICA 

    como recupero esa select? donde en el texbox deberia escribir el apellido y en el listview motrar los resultados del la busqueda.

    mostrar los datos en un listview tampoco es el problema 

    adjunto una imagen 


    millo

    martes, 31 de octubre de 2017 1:23
  • If CboBuscar.SelectedIndex = 0 Then
    
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Apellido like ('%" + TxtBuscar.Text + "%')")
            ElseIf CboBuscar.SelectedIndex = 1 Then
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Nombre like ('%" + TxtBuscar.Text + "%')")
            ElseIf CboBuscar.SelectedIndex = 2 Then
                Dt1 = sql1.LEER("SELECT * FROM usuarios WHERE Dni like ('%" + TxtBuscar.Text + "%')")
            End If

    mira antes lo resolvia asi... si seleccionaba apellido del combo se corresponde con el selectindex = 0 entoces ejecutaba esa sentencia

    ahora la logica cambia tengo que recuperar la sentencia guardada en la tabla y relacionar con el textbox si selecciono apellido en el texbox deberia escribir un apellido y con esa select traer los datos de la persona



    millo

    martes, 31 de octubre de 2017 1:31
  • Hola rodrigo, por que la sentencia la guardas en una base de datos? cual es la necesidad? No se puede escribir directamente el mando cuando se selecciona un item del combobox, entonces el codigo en el button sería algo así ej:

     Select case ComboBox1.Text

        Case "Apellido"

         ----------disparo del Select correspondiente con el apellido en el text..

    ..............................................

        Case "nombre"

      .............disparo del Select nombre.......

       Case "DNI"

        ............Disparo Select DNI

    ............

       end Select

    No se si queda claro la propuesta, el tema es que no veo la necesidad de colocar un select en una base de datos

    Saludos


    • Editado Marcelo PF martes, 31 de octubre de 2017 2:01
    martes, 31 de octubre de 2017 1:49
  • si si te entiendo es que trato de hacerlo dinamico a lo mejor no me entienden 

    imagina que tengo distintas consultas de distintos tipos  lo que tendria que hacer es seleccionar la select correcta de la base de datos

    siguiendo tu logica como podria pasar el datatable a una variable 

    en ves de esto 

    Select case ComboBox1.Text

        Case "Apellido"

         ----------disparo del Select correspondiente con el apellido en el text..

    seria disparo variable 

    se podra hacer???


    millo

    martes, 31 de octubre de 2017 2:14
  • Yo en particular no me animaría a darte consejos sobre SQL no es un tema que domine como para tal fin, otros colaboradores te daran un mejor consejo respecto a sentencias y como configurarlas, lo que si es en la lógica de la elaboracíon. para el caso supongo debes crear un comando (SqlCommand) y a ese comando le agregas el select (String) y la conexion ¿no es así? Para luego ejecutar ExjecuteReader, bueno lo que yo haría es que según la selección del Combobox como indique antes,  comando = new ExjecuteDataReader( QueryString, Conection)

    Donde en cada Case llevaría QueryString correspondiente (ej:" SELECT id_usuario, CONCAT(.........

    No se si te aclaré o te oscurecí más..

    • Propuesto como respuesta Juan Mondragón viernes, 3 de noviembre de 2017 18:42
    martes, 31 de octubre de 2017 3:01
  • si te entiendo marcelo lo voy a intentar

    gracias!!!

     

    millo

    martes, 31 de octubre de 2017 3:14