none
Explicación de sintaxis SQL: uso de símbolo &, comillas simples y dobles, % RRS feed

  • Pregunta

  • Hola soy principiante en SQL y no entiendo la sintaxis siguiente:

    dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'"

    Me refiero por ejemplo al significado de cada símbolo ampersand según el lugar que ocupa en el texto, porque txtbuscar.Text esta entre dos símbolos ampersand, que significa % después del ultimo símbolo ampersand y que significado tiene el símbolo % en ese lugar que ademas cuando se omite me da error. Gracias     

     
    viernes, 6 de julio de 2018 1:33

Todas las respuestas

  • El ampersand no es de SQL, es de VB.net y se utiliza para concatenar textos, igual que el +.  El % es un wildcard en SQL Server y quiere decir que lo que se busca puede estar sucedido (y no precedido porque el % está al final) de lo que se ha escrito en la casilla de texto llamada txtbuscar.  El % puede preceder el texto a buscar y por lo tanto SQL Server buscará coincidencias que terminen con lo que se ha escrito en la casilla de texto.

    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT

    viernes, 6 de julio de 2018 2:12
    Moderador
  • Muchas gracias por su respuesta. Mi duda no es sobre la función que en teoría cumple cada símbolo u operador, sino porque están ubicados de esa manera. Por ejemplo: El símbolo % suele usarse como “a%” (precedido) o “%a” (sucedido) pero en este caso el % se encuentra solo sin entender a que precede o a que sucede. Sobre los ampersand, mi duda es porque txtbuscar.Text esta entre dos símbolos ampersand (¿Qué es lo que esta concatenando cada uno de ellos?). El primer ampersand si lo entiendo pero no la función de los dos siguientes
    viernes, 6 de julio de 2018 4:26
  • Los ampersand se utiliza para unir cadenas de texto.
    Por ejemplo "Una " & "Cadena" se convierte en "Una Cadena".

    En el caso que pones

    dv.RowFilter = cbocampo.Text & " like '" & txtbuscar.Text & "%'"

    va a asignar a dv.RowFilter la cadena resultante de unir el texto seleccionado en el combo con " like " seguido del contenido del textbox txtbuscar seguido de "%". Si pones un punto de interrupción en esa línea lo verás claro.

    Al texto a buscar le añade "%" para que busque aquellos valores del campo que comiencen por el texto buscado.



    Saludos, Javier J

    viernes, 6 de julio de 2018 6:57
  • Gracias Javier fue muy útil. Saludos
    viernes, 6 de julio de 2018 17:37