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

Busqueda de clientes con combobox

Estas en el tema de Busqueda de clientes con combobox en el foro de .NET en Foros del Web. Hola amigos, tengo una duda, tengo hecho un form donde tengo un combobox, y 5 label, y un boton de buscar. Bueno el caso consiste ...

  #1 (permalink)  
Antiguo 14/07/2011, 10:52
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Busqueda de clientes con combobox

Hola amigos, tengo una duda, tengo hecho un form donde tengo un combobox, y 5 label, y un boton de buscar. Bueno el caso consiste que mediante el combo se muestra el codigo del cliente y con el SelectedIndex me muestra toda su informacion en los label, les explico en mi lblNombre me muestra el nombre, lblDireccion, Direcion y asi sucesivamente en los label tambien me busca los cliente escribiendo el codigo en el combo y haciendole click con el boton buscar.

El caso es que cuando se teclea un codigo que no esta en la bd me muestra un error y se cierra el sistema, quisiera saber si hay alguna forma que cuando el usuario teclee un codigo que no esta en la bd, le diga no existe ese codigo o algo asi.

Ya saben que hay ususrios que son muy curiosos y le gusta explorar el sistema, y en algo como mi caso se pueden encontrar con un error.

Les agradezco su ayuda de antemano. Gracias. Espero haberme explicado bien.

Saludos!!!...
  #2 (permalink)  
Antiguo 14/07/2011, 11:20
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Busqueda de clientes con combobox

podrias primero hacer una consulta con un select COUNT(*) from XXX where ID = XXXX si te devuelve 0 es porque no existe ningun usuario con ese codigo y si te devuelve 1 es porque ya existe un usuario, y luego aplicas lo que haces que es llamar los datos del usuario. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 14/07/2011, 11:30
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

estuve checando y encontre algo asi como esto:

CREATE PROCEDURE PA_EXISTE_DETALLE_VENTA

@IDdetalle INT,
@EXISTE VARCHAR(5)

OUTPUT
AS

SET @EXISTE = 'NO'

IF EXISTS (select * from detalle where IdDetalle = @IdDetalle )

BEGIN

SET @EXISTE = 'SI'

END

es algo asi como tu me dices.???
  #4 (permalink)  
Antiguo 14/07/2011, 11:34
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Busqueda de clientes con combobox

es similar ya que el exists verifica si hay filas en el resultado que hace el select*from, puedes usar lo que gustes.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 14/07/2011, 11:55
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Ok, graxias por tu respuesta tambien, cualquier otra duda posteo.
  #6 (permalink)  
Antiguo 20/07/2011, 15:04
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Oye me funciono el procedimiento lo que tengo duda es en el codigo de mi programa.
  #7 (permalink)  
Antiguo 20/07/2011, 15:07
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Busqueda de clientes con combobox

cual es la duda?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #8 (permalink)  
Antiguo 20/07/2011, 15:14
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Si te da error la aplicacion y se cierra, es porque no tienes una manera de tratar el error en especifico, o sea tienes un area sin validar correctamente, no es tanto la base de datos...
  #9 (permalink)  
Antiguo 20/07/2011, 15:22
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Si pongo la clave que si existe en mi bd pues no me debe mostrar mensaje, solo me debe mostrar los datos, eso lo hace bien, pero si no hay registro en la bd que me saque el mensaje no existe.
  #10 (permalink)  
Antiguo 20/07/2011, 15:28
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 13 años, 10 meses
Puntos: 267
Respuesta: Busqueda de clientes con combobox

seria mas facil si haces el count como te indique, y con un executescalar lo ejecutas y esto te retorna la cantidad de filas y harias algo como esto
Código vb:
Ver original
  1. Dim registros As Integer = Convert.toInt32(cmd.ExecuteScalar())
  2. If registros > 0 Then
  3. MessageBox.Show("El codigo ingresado ya existe")
  4. Else
  5. MessageBox.Show("El codigo ingresado no existe")
  6. End If
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #11 (permalink)  
Antiguo 20/07/2011, 15:31
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Aqui le dejo el mensaje que me manda cuando no existe el codigo en mi bd.

http://3.bp.blogspot.com/-hqH9gvoiAy...600/Dibujo.JPG
  #12 (permalink)  
Antiguo 20/07/2011, 15:42
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Es porque no existe el SelectedValue o sea esta en nothing

if not isnothing(me.cboParametros.SelectedValue) then
  #13 (permalink)  
Antiguo 20/07/2011, 15:45
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Aqui le dejo la imagen del form:

http://4.bp.blogspot.com/-GwTSK7As7j...00/Dibujo1.JPG
  #14 (permalink)  
Antiguo 20/07/2011, 20:59
Avatar de edbc92  
Fecha de Ingreso: octubre-2010
Ubicación: Lima - Los Olivos
Mensajes: 93
Antigüedad: 13 años, 5 meses
Puntos: 5
Respuesta: Busqueda de clientes con combobox

Otra opción que yo creo que seria convenientes es desactivar la opción que te permite editar un combobox, ya que solo quieres mostrar los codigos en el combo.

Busca la propiedad DropDownStyle y colocalo como DropDownList.

xD...
  #15 (permalink)  
Antiguo 21/07/2011, 07:52
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Cita:
Iniciado por HaverRamirez Ver Mensaje
Es porque no existe el SelectedValue o sea esta en nothing

if not isnothing(me.cboParametros.SelectedValue) then
  #16 (permalink)  
Antiguo 21/07/2011, 09:30
 
Fecha de Ingreso: septiembre-2008
Mensajes: 38
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Busqueda de clientes con combobox

Mételo en un bloque try -> catch

try
{
// Operaciones
}

catch(Exception ex)
{
MessageBox.Show("Error -> " & ex.toString())
}

Así Vas Depurando Los Posibles Errores.
Saludos.

Última edición por YorchX; 21/07/2011 a las 09:31 Razón: Otro lenguaje, Jeje
  #17 (permalink)  
Antiguo 21/07/2011, 09:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 38
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: Busqueda de clientes con combobox

Haha Compañero, Viendo bien ahora esa imagen que pusiste, pues en el evento del combobox "cboParametros_SelectedIndexChanged" al iniciar, pues no instancias tu objeto objProducto... En Términos Comunes Lo que te dice... es que no puedes acceder a ese método sin antes crear uno... para solucionarlo haz esto:

nombre_clase_de_tu_objeto objProducto = new nombre_clase_de_tu_objeto();
objProduto.IdProducto = int.Parse.... shalalalala

// Al Igual que en lo siguiente
nombre_clase_de_tu_objeto negProducto = new nombre_clase_de_tu_objeto();
DataTable dtProducto = negProducto.MostrarDatos.... shalala
  #18 (permalink)  
Antiguo 21/07/2011, 09:45
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

No hay necesidad de instanciar el combobox, porque este ya esta creado...entonces es porque no lleva nada, o sea existen un nothing en selectedindex, al igual que selectedvalue
  #19 (permalink)  
Antiguo 22/07/2011, 08:09
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

No se si no mehas entendido Haver o yo no te he entendido el selected index no creo que este en noting, me selecciona el index, pero al teclearlo si no hay tal codigo en mi bd me manda el error que ya les habia mostrado, logico que si no hay mi combobox no me lo va a listar, yo preguntaba eso por los usuarios, que les gusta echar a perder sus sistemas.
  #20 (permalink)  
Antiguo 22/07/2011, 08:49
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Por eso mi chavo, mira, si estas escribiendo algo en el combobox que NO EXISTE EN EL, o sea aunque este vaya a la base y regrese sin nada, NO HAY INDEX SELECCIONADO PORQUE NO EXISTE, vaya, cuando estas escribiendo y no EXISTE TAMPOCO HAY SELECTEDVALUE, Y SI NO ME CREES, revisa con el depurador...o sea como puede haber un selectedindex de un objeto que no esta seleccionado, porque no existe dentro del combo
  #21 (permalink)  
Antiguo 22/07/2011, 08:57
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Perdon, perdon, tienes razon, selectedindex posiblemente si haya, porque cuando no selecciona un valor devuelve -1 pero el selectedvalue ese si esta en nothing...entonces cuando haces un nothing.tostring te da error
  #22 (permalink)  
Antiguo 22/07/2011, 08:59
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

En MSDN esta este ejemplo ve la validación

Código vb:
Ver original
  1. Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As EventArgs)
  2.         If ListBox1.SelectedIndex <> -1  Then
  3.             textBox1.Text = ListBox1.SelectedValue.ToString()
  4.             ' If we also wanted to get the displayed text we could use
  5.            ' the SelectedItem item property:
  6.            ' Dim s = CType(ListBox1.SelectedItem, USState).LongName
  7.        End If
  8.     End Sub 'ListBox1_SelectedValueChanged

ListBox1.SelectedIndex <> -1

http://msdn.microsoft.com/en-us/library/system.windows.forms.listcontrol.selectedvalue.asp x
  #23 (permalink)  
Antiguo 22/07/2011, 10:27
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

exacto en el selectedValue es donde me da el error.

voy a checar tu ejemplo que me acabas de poner.
  #24 (permalink)  
Antiguo 26/07/2011, 15:32
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Me sigue marcando el mismo error.
  #25 (permalink)  
Antiguo 26/07/2011, 15:38
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Pusiste ESTO
ListBox1.SelectedIndex <> -1
  #26 (permalink)  
Antiguo 27/07/2011, 08:00
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Si lo puse pero no tuvo efecto me sigue marcando el mismo error de la imagen, que les había puesto.
  #27 (permalink)  
Antiguo 27/07/2011, 11:36
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Falso, hasta ahi ya no te creo mi chavo, o tenes errores de conversion, si asignaste los values del combobox, el displaymember y el valuemember verdad?
  #28 (permalink)  
Antiguo 27/07/2011, 11:45
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

mira yo utilizo este metodo para llenar mi combo:

Código:
public void LlenarCombo(ComboBox cbo, DataView dv, String texto, String valor)
        {
            try
            {
                cbo.DisplayMember = texto;
                cbo.ValueMember = valor;
                cbo.DataSource = dv;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al poner datos en Combo" +
                        ex.Message, "Error", MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
            }
        }
En el Load pongo esto:

Código:
DataTable dtProducto = negProducto.ListarIdDescProducto();
            util.LlenarCombo(cboParametros, dtProducto.DefaultView, "Clave", "IdProducto");

            cboParametros.AutoCompleteCustomSource = util.CargaAutoAcompletar(dtProducto, cboParametros, "Clave");
            cboParametros.AutoCompleteMode = AutoCompleteMode.Suggest;
            cboParametros.AutoCompleteSource = AutoCompleteSource.CustomSource;
            dtProducto.Dispose();
y en combo Esto:

Código:
 private void cboParametros_SelectedIndexChanged(object sender, EventArgs e)
        {
            objProducto.IdProducto = int.Parse(cboParametros.SelectedValue.ToString());
            DataTable dtProducto = negProducto.MostrarDatosProducto(objProducto);
            if (dtProducto.Rows.Count > 0)
            {               
                lblDescripcion.Text = util.ValorCampo(dtProducto, "Descripcion");
                lblVenta.Text = util.ValorCampo(dtProducto, "PrecioVenta");
                lblMecanico.Text = util.ValorCampo(dtProducto, "PrecioMecanico");
                lblMayoreo.Text = util.ValorCampo(dtProducto, "PrecioMayoreo");             
            }
            else
            {               
                lblDescripcion.Text = "";
                lblVenta.Text = "";
                lblMecanico.Text = "";
                lblMayoreo.Text = "";
            }                 

        }
  #29 (permalink)  
Antiguo 27/07/2011, 11:50
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Busqueda de clientes con combobox

Código:
 private void cboParametros_SelectedIndexChanged(object sender, EventArgs e)
{
if cboParametros.Selectedindex <> -1 
{
objProducto.IdProducto = int.Parse(cboParametros.SelectedValue.ToString());
DataTable dtProducto = negProducto.MostrarDatosProducto(objProducto);
if (dtProducto.Rows.Count > 0)
{
lblDescripcion.Text = util.ValorCampo(dtProducto, "Descripcion");
lblVenta.Text = util.ValorCampo(dtProducto, "PrecioVenta");
lblMecanico.Text = util.ValorCampo(dtProducto, "PrecioMecanico");
lblMayoreo.Text = util.ValorCampo(dtProducto, "PrecioMayoreo");
}
else
{
lblDescripcion.Text = "";
lblVenta.Text = "";
lblMecanico.Text = "";
lblMayoreo.Text = "";
}
}
}
Pos yo no veo la validacion del -1 , entonces?, ahora dos cosas o pones la validacion del -1 que puse en el codigo o pones esta otra

if not isnothing(cboParametros.selectedvalue)
{
}
  #30 (permalink)  
Antiguo 27/07/2011, 15:22
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 8
Respuesta: Busqueda de clientes con combobox

Ok, ya salio graxias por tu ayuda Haver ya esta solucionado y graxias a los demas por su aporte.

Muchas graxias... Saludos...

Etiquetas: combobox, busquedas, cliente
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 06:52.