Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: DeMoNcRaZy en 10 Septiembre 2015, 21:12 pm



Título: [C#] Pasar dos argumentos por DisplayMember (Mysql)
Publicado por: DeMoNcRaZy en 10 Septiembre 2015, 21:12 pm
Buenas,

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

Código
  1. string conexion = "Database=serverdown; Data Source=localhost; User Id=root; Password=;";
  2.            MySqlConnection con = new MySqlConnection(conexion);
  3.            con.Open();
  4.            string query = "SELECT id, CONCAT(nombre, enlace) as desc FROM archivos";
  5.            MySqlCommand cmd = new MySqlCommand(query, con);
  6.            MySqlDataAdapter data = new MySqlDataAdapter(query, con);
  7.            DataTable dt = new DataTable();
  8.            data.Fill(dt);
  9.            listBox1.ValueMember = "id";
  10.            listBox1.DisplayMember = "desc";
  11.            listBox1.DataSource = dt;

Pero me salta el siguiente error:

Código:
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
  1. listBox1.DisplayMember = "desc";

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

Saludos.


Título: Re: [C#] Pasar dos argumentos por DisplayMember (Mysql)
Publicado por: 0roch1 en 10 Septiembre 2015, 21:26 pm
En tu consulta:
Código
  1. 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.


Título: Re: [C#] Pasar dos argumentos por DisplayMember (Mysql)
Publicado por: DeMoNcRaZy en 10 Septiembre 2015, 21:38 pm
En tu consulta:
Código
  1. 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
  1. listBox1.DisplayMember = "Es: " + "colum";

Y me escribe en el listBox:
Código:
System.Data.DataRowView

Solo intento separarlos y ya no me lo muestra correctamente.

Saludos.


EDIT: Ya lo he logrado solucionar así:

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

Gracias por todo.

Saludos.