Foros del Web » Programación para mayores de 30 ;) » .NET »

Usar LIMIT en una consulta automatizada a MySQL

Estas en el tema de Usar LIMIT en una consulta automatizada a MySQL en el foro de .NET en Foros del Web. Hola, tengo agregado a mi aplicación un origen de datos MySQL, el cual arrastre a un DataGridView, el mismo muestra los datos correctamente pero no ...
  #1 (permalink)  
Antiguo 23/08/2012, 09:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 12 años, 11 meses
Puntos: 0
Usar LIMIT en una consulta automatizada a MySQL

Hola, tengo agregado a mi aplicación un origen de datos MySQL, el cual arrastre a un DataGridView, el mismo muestra los datos correctamente pero no me es posible agregar el condicional LIMIT al final de la Query pues el analizador de consultas me indica que no es posible analizar la consulta.

Necesito limitar la cantidad de resultados a los últimos 200 resultados y no entiendo porque no interpreta este comando.

He probado colocar la consulta en MySQL Workbench y funciona perfectamente.

¿Hay alguna solución para esto?
  #2 (permalink)  
Antiguo 23/08/2012, 13:13
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Usar LIMIT en una consulta automatizada a MySQL

pero porque no tratas mejor de usar ADO .NET, LINQ, etc a veces existe problemas cuando se trata de trabajar realizando con los ASISTENTES y aun mas cuando se trabaja con otros proveedores que no son de Microsoft.

En tu caso el error puede estar tambien porque el Asistente del proveedor no soporta sentencias complejas por lo tanto trata de hacerlo mejor con codigo ADO por ejemplo
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #3 (permalink)  
Antiguo 23/08/2012, 13:59
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Usar LIMIT en una consulta automatizada a MySQL

No estoy totalmente familiarizado con ADO, alguna vez leí algo pero era para VB6, ahora estoy con NET 2010.

Corregime si estoy equivocado, según entiendo lo que me estas diciendo es que rellene el datagrid por código sin los asistentes.

Si es así te comento que estoy rellenando ComboBox's por código y es bastante sencillo, lo que no se es como pasarle todos los resultados al DataGridView.

Te paso un ejemplo sencillo de una Funcion que me testea las ConnectionSTrings.

Código vb:
Ver original
  1. Private Function TestCnnStr(ByVal CnnStrX As String) As Boolean
  2.  
  3.         Try
  4.             Dim VersionMySQL As String = "-1"
  5.             Dim conn As New MySqlConnection(CnnStrX)
  6.             conn.Open()
  7.  
  8.             Using cmd As New MySqlCommand()
  9.                 cmd.CommandType = CommandType.Text
  10.                 cmd.Connection = conn
  11.                 Dim reader As MySqlDataReader
  12.  
  13.                 cmd.CommandText = "SELECT VERSION();"
  14.  
  15.                 reader = cmd.ExecuteReader()
  16.  
  17.                 If reader.HasRows Then
  18.                     If reader.Read() Then
  19.                         VersionMySQL = reader("VERSION()")
  20.                     End If    
  21.                 End If
  22.                reader.Close()
  23.             End Using
  24.             Return True
  25.         Catch ex As Exception
  26.             PrintLog(ex.Message)
  27.             Return False
  28.         End Try
  29.     End Function

Si me puedes sugerir como pasarle los datos del DataReader al DataGridView te lo agradeceré.
  #4 (permalink)  
Antiguo 23/08/2012, 14:03
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 10 meses
Puntos: 220
Respuesta: Usar LIMIT en una consulta automatizada a MySQL

Cita:
Iniciado por E_Blue Ver Mensaje
No estoy totalmente familiarizado con ADO, alguna vez leí algo pero era para VB6, ahora estoy con NET 2010.

Corregime si estoy equivocado, según entiendo lo que me estas diciendo es que rellene el datagrid por código sin los asistentes.

Si es así te comento que estoy rellenando ComboBox's por código y es bastante sencillo, lo que no se es como pasarle todos los resultados al DataGridView.

Te paso un ejemplo sencillo de una Funcion que me testea las ConnectionSTrings.

Código vb:
Ver original
  1. Private Function TestCnnStr(ByVal CnnStrX As String) As Boolean
  2.  
  3.         Try
  4.             Dim VersionMySQL As String = "-1"
  5.             Dim conn As New MySqlConnection(CnnStrX)
  6.             conn.Open()
  7.  
  8.             Using cmd As New MySqlCommand()
  9.                 cmd.CommandType = CommandType.Text
  10.                 cmd.Connection = conn
  11.                 Dim reader As MySqlDataReader
  12.  
  13.                 cmd.CommandText = "SELECT VERSION();"
  14.  
  15.                 reader = cmd.ExecuteReader()
  16.  
  17.                 If reader.HasRows Then
  18.                     If reader.Read() Then
  19.                         VersionMySQL = reader("VERSION()")
  20.                     End If
  21.                     reader.Close()
  22.                 End If
  23.  
  24.             End Using
  25.             Return True
  26.         Catch ex As Exception
  27.             PrintLog(ex.Message)
  28.             Return False
  29.         End Try
  30.     End Function

Si me puedes sugerir como pasarle los datos del DataReader al DataGridView te lo agradeceré.
Bueno yo me refiero a ADO .NET

Tu codigo de validacion se vee bien pero cual es tu codigo de como piensas llenar tu datagridview si en caso no lo tienes mira este ejemplo:

Código vb:
Ver original
  1. Try
  2.             Dim VersionMySQL As String = "-1"
  3.             Dim conn As New MySqlConnection(CnnStrX)
  4.             Dim Adp as New MySqlDataAdapter
  5.             Dim datos as new DataTable
  6.             conn.Open()
  7.  
  8.             Using cmd As New MySqlCommand()
  9.                 cmd.CommandType = CommandType.Text
  10.                 cmd.Connection = conn
  11.  
  12.                 cmd.CommandText = "SELECT VERSION();"
  13.  
  14.                 Adp.SelectCommand = cmd
  15.                 Adp.Fill(datos,"x")
  16.                
  17.                 datagridview1.DataSource = datos
  18.  
  19.                 If reader.HasRows Then
  20.                     If reader.Read() Then
  21.                         VersionMySQL = reader("VERSION()")
  22.                     End If
  23.                     reader.Close()
  24.                 End If
  25.  
  26.             End Using
  27.             Return True
  28.         Catch ex As Exception
  29.             PrintLog(ex.Message)
  30.             Return False
  31.         End Try
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #5 (permalink)  
Antiguo 23/08/2012, 14:16
 
Fecha de Ingreso: mayo-2011
Mensajes: 102
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Usar LIMIT en una consulta automatizada a MySQL

No, no tengo hecho nada del código para rellenar el DataGridView, el que esta hecho lo hizo el asistente.

Lo hice así porque el Jefe esta un poco apurado y quiero terminar la aplicación pronto.

Gracias, pensé que era algo mas complejo, voy a probar el código que me pasaste.

Etiquetas: consulta-mysql, limit, mysql, net, query, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:36.