Los foros del Guille

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

Google
 

elGuille.Hosting, seguramente los mejores precios de alojamiento

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

20/mar/2008

¡Ya puedes comprar mi libro de Visual Basic 9.0!


http://www.elguille.info/NET/NovedadesVB9/

  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: 91 - App. iniciada: 18/10/2017 12:09:21 GMT - La hora GMT del servidor es: 18/10/2017 13:12:42 GMT