none
Nombres de campo entre "[]" RRS feed

  • Pregunta

  • Buenas tardes..

    Tengo una BBDD con el campo "Plan" definido entre [] ([Plan])..

    Como tengo que definir la séntencia?

    Si la escribo de esta manera me da un error..

    SqlCommand("INSERT INTO " & tbl & "([_GuidPr],[Plan"])VALUES (@p0, @p1)")


    Atentament.. Vicens Sala ÀBAC Consultors del Vallès, SLU

    miércoles, 8 de abril de 2020 17:52

Respuestas

  • El error es porque te sobran las comillas dobles detrás de Plan:

    SqlCommand("INSERT INTO " & tbl & "([_GuidPr],[Plan])VALUES (@p0, @p1)")

    No te preocupes mucho por los corchetes, son opcionales. Da lo mismo definir el campo como [Plan] al crear la tabla y luego acceder como Plan. O definirlo como Plan y luego acceder como [Plan].

    Solo es obligatorio escribir los corchetes cuando el nombre de campo contiene algún carácter reservado, como por ejemplo un espacio en blanco: [Primer Apellido]. En ese caso sí que es obligatorio escribir los corchetes tanto al definir el campo como al usarlo. También son obligatorios si el nombre del campo es una palabra reservada en SQL, por ejemplo [Order].

    miércoles, 8 de abril de 2020 21:07
  • Hola:

    Sobre lo que te ha comentado Alberto Población, la palabra "Plan" es una palabra reservada, por lo tanto va con corchete.

    Un saludo.

    Gemma

    jueves, 9 de abril de 2020 0:01
  • SqlCommand("INSERT INTO tbl ([_GuidPR],[Plan])VALUES(@p0, @p1))", cnn)  

    donde cnn es la variable que le has asignado a tu cadena de coneccion osea

    si pusiste dim cnn as new sqlconnection(tu cadena de coneccion)

    entonces en el command tienes que decirle que el sqlcommand va a estar atado a la cadena de coneccion si no te va 

    a arrojar un error logico

    jueves, 9 de abril de 2020 0:17

Todas las respuestas

  • Hola

     

    Gracias por levantar tu consulta en los foros de MSDN. Estamos analizando su pregunta y vamos a darle seguimiento para buscar la mejor repuesta pertinente al caso.

     

    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.

    miércoles, 8 de abril de 2020 18:56
    Moderador
  • El error es porque te sobran las comillas dobles detrás de Plan:

    SqlCommand("INSERT INTO " & tbl & "([_GuidPr],[Plan])VALUES (@p0, @p1)")

    No te preocupes mucho por los corchetes, son opcionales. Da lo mismo definir el campo como [Plan] al crear la tabla y luego acceder como Plan. O definirlo como Plan y luego acceder como [Plan].

    Solo es obligatorio escribir los corchetes cuando el nombre de campo contiene algún carácter reservado, como por ejemplo un espacio en blanco: [Primer Apellido]. En ese caso sí que es obligatorio escribir los corchetes tanto al definir el campo como al usarlo. También son obligatorios si el nombre del campo es una palabra reservada en SQL, por ejemplo [Order].

    miércoles, 8 de abril de 2020 21:07
  • Hola:

    Sobre lo que te ha comentado Alberto Población, la palabra "Plan" es una palabra reservada, por lo tanto va con corchete.

    Un saludo.

    Gemma

    jueves, 9 de abril de 2020 0:01
  • SqlCommand("INSERT INTO tbl ([_GuidPR],[Plan])VALUES(@p0, @p1))", cnn)  

    donde cnn es la variable que le has asignado a tu cadena de coneccion osea

    si pusiste dim cnn as new sqlconnection(tu cadena de coneccion)

    entonces en el command tienes que decirle que el sqlcommand va a estar atado a la cadena de coneccion si no te va 

    a arrojar un error logico

    jueves, 9 de abril de 2020 0:17