Autor Tema: Mysql nombres de columnas o tablas con espacios no reconocidos  (Leído 19782 veces)

Mary

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 38
    • Ver Perfil
Hola, tengo un problema a la hora de insertar datos de un datagridview a una base de datos mysql. El problema es el siguiente:

Tengo un datagridview con dos columnas. La columna 1 la he transformado en una Datagridviewcomboboxcolumn y la columna 2 son textbox.

La combobox de la columna 1 automáticamente se llenan con los datos que hay en una tabla de mysql. y los textbox de la columna 2 lo lleno manualmente con datos numéricos.
Mediante un botón inserto los datos del datagridview en una Tabla de mysql.

Los datos del la columna del datagridviewcomboboxcolumn son los encabezados de la tabla FORMULAS de Mysql donde inserto los datos de la columna 2 del datagridview.

Intentaré explicarme mejor:

datos que aparecen al desplegar el datagridviewcomboboxcolumn:

Azul oscuro
Blanco grisáceo
Amarillo plata

Encabezado de la tabla Mysql donde introduzco los datos de la columna 2:

id    Azul oscuro    Blanco grisáceo    Amarillo plata



Los datos los introduzco mediante la función:

    Dim UNO As String

       UNO = CDbl(DataGridView1.Rows(0).Cells(1).Value).ToString()
       
     
 Dim servidor As New MySqlCommand("INSERT INTO Formulas _
( "+DataGridView1.Rows(0).Cells(0).Value.ToString + ") values ('" & UNO & "')", stConexion)



El problema es que me sale un error porque los combobox del datagridview los cargo con palabras separadas, es decir:  Azul oscuro, Blanco grisáceo etc. Al igual que los encabezados de la Tabla FORMULAS, que son el mismo texto.
En cambio si tanto en los encabezados de la tabla como en los combobox , escribo:
Azuloscuro, Blancogrisaceo y Amarilloplata, me los inserta sin ningún problema.

Espero que se me haya entendido.

¿Alguien sabe a que es debido esto?
« Última modificación: 08 de Junio 2015, 08:47 por César Krall »

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Re:Mysql nombres de columnas o tablas con espacios no reconocidos
« Respuesta #1 en: 08 de Junio 2015, 08:48 »
Hola! Normalmente en bases de datos los nombres de las tablas y los nombres de las columnas no llevan espacios porque esto genera problemas. Lo normal sería usar nombres como azul_oscuro, blanco_grisaceo, amarillo_plata o azulOscuro, blancoGrisaceo, amarilloPlata o similar. En el caso de querer usar nombres con espacios (no recomendado) puedes intentar encerrar el nombre con espacio con comilla invertida o comilla simple para que lo considere en conjunto, sería `Azul oscuro` ó 'Azul oscuro'

En ejemplo de sentencia usando esto sería $sql = "SELECT `Azul oscuro`, `Blanco Grisaceo`, `Amarillo Plata`  FROM Formulas";

Saludos!
Responsable de departamento de producción aprenderaprogramar.com

Mary

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 38
    • Ver Perfil
Re:Mysql nombres de columnas o tablas con espacios no reconocidos
« Respuesta #2 en: 08 de Junio 2015, 21:17 »
Hola! Gracias por responder. He probado lo de las comillas, pero me sigue dando error.
Así que lo haré escribiendo todos los nombre sin espacios.
Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".