Los foros del Guille

elGuille.hosting: Ofertas de alojamiento
posiblemente los mejores precios
¡¡¡ Ahora con el doble de casi todo !!!

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

15/mar/2006
Te recomiendo que si no entras regularmente a los foros, marques la casilla de Notificar para recibir un correo cuando alguien responda a tu mensaje.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 57474 - cargar combobox concatenado y realizar consulta
IDAsuntoFechaNick 
57474 cargar combobox concatenado y realizar consulta05/02/14 19:34Estebanb   
Estimados:

tengo un dilema y no lo he podido solucionar
cargo un combobox concatenado y el código es el siguiente:

codigo
cn.Open()
Dim consulta As New Data.SqlClient.SqlDataAdapter("select id_doctor, Nombrem+' '+Apellidopm as nombrecompleto from
     Medicos", cn)
        Dim i As Integer
        Dim tabla As New Data.DataTable
        consulta.Fill(tabla)
        If tabla.Rows.Count > 0 Then
            For i = 0 To tabla.Rows.Count - 1
                cbbmedicos.Items.Add(tabla.Rows(i).Item("nombrecompleto").ToString)
            Next
        End If

el cual lo carga correctamente el dilema es el siguiente:
cuando quiero filtrar con un button="buscar" ,el combobox y con datetimepicker y mostrar los datos en un datagrid, el resultado es el siguiente " Error al convertir el tipo de datos varchar a numeric."
el código de búsqueda es el siguiente:
Código:
Private Sub Button1
    _Click(sender As System.Object, e As
     System.EventArgs) Handles Button1.Click
        Dim da As New SqlClient.SqlDataAdapter("SELECT  id_doctor, hora_ini, hora_fin FROM horamedicos WHERE  NOT
             EXISTS  (SELECT  id_reservahora, , id_doctor, fecha_reserva, horareserva,  FROM
             reservahoracm WHERE  horamedicos.id_doctor ='" & cbbmedicos.Text & "' AND horareserva = horamedicos.hora_ini AND fecha_reserva
             ='" & DateTimePicker1.Text & "') AND (id_doctor
             ='" & cbbmedicos.Text & "')", cn)
        Dim ds As New DataSet()
        da.Fill(ds, "horamedicos")
        DataGridView1.DataSource = ds.Tables("horamedicos")
    End Sub

el problema es que al comparar el cbbmedicos.text con id_doctor, obviamente no compara ya que compara el id_doctor con el textbox de cbb.-

tienen alguna sugerencia de como poder solucionar este que tiene sin dormir carcajada.-

Bueno espero sus comentarios y muchas gracias

atte

esteban B
IDAsuntoFechaNick 
57492 Re: cargar combobox concatenado y realizar consulta (Resp: 57474)12/02/14 20:11Pipe[hgjfkdls]   
Esteban,

lo mas simple que se me ocurre es:

1.- cuando cargas el combobox, guarda en la propiedad Tag (tipo object) una lista con los id_doctor rescatados de tu consulta, claramente ordenados de la misma manera que quedan en el combobox.

2.- a la hora de generar la consulta "buscar", no leas combobox.Text, deberás leer el combobox.SelectedIndex y de esta manera lees el id_doctor guardado en la lista situada en la propiedad Tag del combobox.

haber si me explico mejor con un ejemplo:

Para cargar los id_doctor en la lista y guardar en la propiedad tag:
...

List<string> idList=new List<string>();
for(int i=0;i<tabla.Rows.Count;i++)
{
    idList.Add(tabla.Rows[i].Item("id_doctor").ToString());
}
combobox.Tag=idList;

...

Para realizar la busqueda:
...

List<string> idList=(List<string>)combobox.Tag;
if(combobox.SelectedIndex<0)return;//esto produce error
string id_doctor_busqueda=idList[combobox.SelectedIndex];

...

Espero que te sirva de ayuda.

Saludos,

Pipe [hgjfkdls]
[Editado: Pipe[hgjfkdls], 12/02/2014 20:12:57]


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2017  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 17 - App. iniciada: 21/11/2017 0:04:07 GMT - La hora GMT del servidor es: 21/11/2017 00:29:24 GMT