Buenas,
Tengo un problema con una consulta MySql para mostrar varios resultados en un listBox estoy probando así:
string conexion = "Database=serverdown; Data Source=localhost; User Id=root; Password=;";
MySqlConnection con = new MySqlConnection(conexion);
con.Open();
string query = "SELECT id, CONCAT(nombre, enlace) as desc FROM archivos";
MySqlCommand cmd = new MySqlCommand(query, con);
MySqlDataAdapter data = new MySqlDataAdapter(query, con);
DataTable dt = new DataTable();
data.Fill(dt);
listBox1.ValueMember = "id";
listBox1.DisplayMember = "desc";
listBox1.DataSource = dt;
Pero me salta el siguiente error:
Additional information: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc FROM archivos' at line 1
Lo que intento es añadirle dos argumentos a DisplayMember de la columna (base de datos)
listBox1.DisplayMember = "desc";
Si pudieran orientarme un poco...
Cualquier información adicional lo agradecería.
Saludos.
En tu consulta:
SELECT id, CONCAT(nombre, enlace) as desc FROM archivos
desc es una palabra reservada de MySQL.
http://dev.mysql.com/doc/refman/5.7/en/keywords.html
http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html
Cámbiala por otra.
Cita de: 0roch1 en 10 Septiembre 2015, 21:26 PM
En tu consulta:
SELECT id, CONCAT(nombre, enlace) as desc FROM archivos
desc es una palabra reservada de MySQL.
http://dev.mysql.com/doc/refman/5.7/en/keywords.html
http://dev.mysql.com/doc/refman/5.7/en/order-by-optimization.html
Cámbiala por otra.
Gracias por la respuesta, se debía a eso.
Ahora intento separar los dos argumentos (resultados):
listBox1.DisplayMember = "Es: " + "colum";
Y me escribe en el
listBox:
System.Data.DataRowView
Solo intento separarlos y ya no me lo muestra correctamente.
Saludos.
EDIT: Ya lo he logrado solucionar así:
string query = "SELECT id, CONCAT('Nombre: ',nombre,' Enlace:' ,enlace) AS colum FROM archivos";
Gracias por todo.
Saludos.