Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Mary en 07 de Junio 2015, 20:02

Título: Mysql nombres de columnas o tablas con espacios no reconocidos
Publicado por: Mary en 07 de Junio 2015, 20:02
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?
Título: Re:Mysql nombres de columnas o tablas con espacios no reconocidos
Publicado por: César Krall 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!
Título: Re:Mysql nombres de columnas o tablas con espacios no reconocidos
Publicado por: Mary 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.