none
Sentencia SELECT FROM WHERE LIKE!! RRS feed

  • Question

  • Hola, estoy trabajando en un sistema de ventas en lenguaje C# Visual Studio (No visual Basic), me he encontrado un problema que no puedo solucionar, y lo he intentado de todas las formas que conozco o podría usar. Utilizo una sentencia para imprimir en un datagrid el codigo, nombre, precio y existencia de un producto, aunque esto es irrelevante. Me funciona perfecto cuando utilizo la sentencia directamente en ACCEESS (Que es lo que utilizo) en diseño SQL, y me funciona a la perfección. Pero al momento de utilizarla no me da ningún registro de NADA, y se que hay variaciones de operadores. Alguien me podría decir qué puedo hacer?

    ESTA ES LA SENTENCIA: SELECT * FROM Productos WHERE Nombre_P LIKE @nombre

    Donde a @nombre le doy el valor de un TextBox, En access, como prueba, utilizo SELECT * FROM Productos WHERE Nombre_P LIKE '*Coca*' y ya intenté también utilizar estos operadores de cualquier forma *', pero no me da.

    GRACIAS!!

    Saturday, April 4, 2020 11:50 PM

All replies

  • Hola Hugo

    En lugar del * es %

    Saludos

    Pablo

    Sunday, April 5, 2020 12:31 AM
  • Hola

    Como te comentan en la otra respuesta, tienes que usar el %, ejemplo:

    SELECT * FROM Productos WHERE Nombre_P LIKE '%@nombre'

    el % puede ir al principio o final de tu variable a buscar, depende la busqueda que tengas que hacer.

    Saludos

    Sunday, April 5, 2020 3:00 AM
  • Hola, Gracias por la respuesta, pero en Access no me da nada si utilizo el operador %, lo utilizo sin problemas en SQL, pero según a lo que investigué se utiliza el asterisco, pero con ninguno me da nada. Pongo sentencia con "*":

    SELECT * FROM Productos WHERE Nombre_P LIKE '*Coca*';

    y con %:

    SELECT * FROM Productos WHERE Nombre_P LIKE '%Coca%';

    El primero si me funciona cuando lo ingreso a acces, pero no se por qué desde visual studio no, y el segundo no me muestra nada, no me da error, pero no me muestra nada:(

    Sunday, April 5, 2020 3:30 AM
  • En Access me parece que es con doble comilla:

    SELECT * FROM Productos WHERE Nombre_P LIKE ''*Coca*''

    Sunday, April 5, 2020 3:51 AM
  • No puedo usar doble comilla porque en visual studio me da error:(. En serio se me hace muy raro que en Access si funciones y en VS no, es la única sentencia que me falla
    Sunday, April 5, 2020 3:58 AM
  • Estuve googleando y tenes razón, Hugo, en Access es

    SELECT * FROM Productos WHERE Nombre_P LIKE '*Coca*';

    Si así no te funciona, fijate que haya algún registro que contenga Coca en Nombre_P o fijate si es COCA o coca en lugar de Coca.

    Sunday, April 5, 2020 8:00 PM
  • hola

    Para usar el LIKE y codigo con parametros desde codigo .net seria

    DataTable dt = new DataTable();  
    using (SqlConnection conn = new SqlConnection("connection string"))  
    {  
        string query = "select * from <tabla> WHERE nombrecampo LIKE '%' + @param + '%'";  
    
        SqlCommand cmd = new SqlCommand(query, conn);  
        cmd.Parameters.AddWithValue("@param", txtTextoBuscar.Text);  
    
        SqlDataAdapter da = new SqlDataAdapter(cmd);    
        da.Fill(dt);  
    
    }

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    Monday, April 6, 2020 4:05 AM
  • Hola , 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

     

    Espero su respuesta. 

      

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN. 

      

    Oscar Navarro

      

     ____ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.   

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.    

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    Monday, April 6, 2020 4:52 PM
    Moderator