[C#] Pasar dos argumentos por DisplayMember (Mysql)

Iniciado por DeMoNcRaZy, 10 Septiembre 2015, 21:12 PM

0 Miembros y 1 Visitante están viendo este tema.

DeMoNcRaZy

Buenas,

Tengo un problema con una consulta MySql para mostrar varios resultados en un listBox estoy probando así:

Código (csharp) [Seleccionar]
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)

Código (csharp) [Seleccionar]
listBox1.DisplayMember = "desc";

Si pudieran orientarme un poco...
Cualquier información adicional lo agradecería.

Saludos.
Esta página web no está disponible - Google Chrome

0roch1

En tu consulta:
Código (sql) [Seleccionar]
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.

DeMoNcRaZy

#2
Cita de: 0roch1 en 10 Septiembre 2015, 21:26 PM
En tu consulta:
Código (sql) [Seleccionar]
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):
Código (csharp) [Seleccionar]
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í:

Código (csharp) [Seleccionar]
string query = "SELECT id, CONCAT('Nombre: ',nombre,' Enlace:' ,enlace) AS colum FROM archivos";

Gracias por todo.

Saludos.
Esta página web no está disponible - Google Chrome