none
Consulta de SQL correcta no me filta las Rows RRS feed

  • Pregunta

  • Saludos... mi problema el en el cual espero que me puedan ayudar en en la siguiente consulta

    SELECT        id_cliente, tipo_cliente, nombre_cliente, apellido_p_cliente, apellido_m_cliente, ...

    FROM            tl_clientes

    WHERE        (nombre_cliente LIKE @criterio + N'%')

    Lo que pasa es que en la ventana "Generador de consultas" se encuantra un boton llamado "Ejecutar consulta" en esa instancia doy el valor que quiero y me filtra perfectamente el resultado pero cuando la ejecuto en tiempo de ejecución o en la misma "Vista previa de datos" del "Oriegen de datos" no me muestra los resultados esperados. No me imagino cual pueda ser el problema, ya que tengo otras consultadas donde filtro los datos pero no con LIKE.

    Espero que me puedan ayudar ya que no quiero usar la propiedad "Filter" del "BindingSource" lo cual me parece poco apropiado.

    De antemano Gracias

    jueves, 16 de septiembre de 2010 23:22

Todas las respuestas

  • Hola

    prueba solo con (nombre_cliente LIKE @criterio) en tu clausula where, luego donde rellenas el parametro @criterio, le concatenas el N%

    Ejemplo

    tableAdapter.FillByNombre(miDataSet.tl.clientes,this.txtNombre.Text+"N%");

    Saludos


    Si la respuesta es correcta, marcala como correcta.
    Tambien puedes votar como util si te fue de ayuda
    DCE 5 ESTRELLAS PLATINO
    Pedro Marquez - Venezuela
    viernes, 17 de septiembre de 2010 2:26
  • Hey... no pos ya le habia intentado de esa forma... no entiendo bien porque pasa asi estoy seguro que la consulta esta bien escrita pues me regresa el filtrado, pero no c porque no sirve cuando lo ejecuto.
    viernes, 17 de septiembre de 2010 3:47
  • Hola Hugo fernando, esas sentencias que has colocado? son parte de un procedimiento almacenado?

    te paso unos apuntes sobre como se debe usar el LIKE

    http://www.sqlserverya.com.ar/temarios/descripcion.php?cod=39&punto=33

    tu consulta enviandole parametros desde el visual estudio me funciono de la siguiente forma

    Te paso el store procedure

    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[sp_BuscaPorNombre]
    (
    	@criterio Nvarchar<br/>)
    AS
    	SET NOCOUNT ON;
    SELECT    [id_cliente], [tipo_cliente], [nombre_cliente], [apellido_p_cliente], [apellido_m_cliente]
    FROM      tl_clientes
    WHERE    (nombre_cliente LIKE (@criterio+'%'))
    

    Avisame si te fue util!

    Saludos!

     

     

     



    Cuando alguien conteste a tu pregunta, si la información te resulto Útil Votala o marcarla como respuesta

    Victoria Rodriguez

    Raona - Software Engineer

    Mi BLog
    sábado, 20 de noviembre de 2010 1:21