FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Error en consulta mysql
Hola buenas noches!
Les comento que tengo el siguiente problema. Estoy trabajando en Delphi 7 con mysql. Realizo esta primera consulta, la cual me arroja resultados positivos, me devuelve todos los campos que necesito.
Luego en otro formulario realizo una consulta muy similar. Si se fija, en las ultimas dos condiciones del where solo cambio 2 campos. Que filtre por el 'dni_numero' y con respecto a la anterior quito que el 'estado' de la orden sea = 5.
El problema de esta segunda consulta es que en el Tedit. Tengo que colocar el "numero de dni" completo y sin equivocarme, sino me da el siguiente error. "List index out of bounds (1)" ------------------------------------------------------------- Aclaro que en los dos formularios, agrego el siguiente codigo para que no me agreguen espacios vacios ni letras ya que el campo es de tipo INT
y tambien en ambos casos, antes de conectar el Query con el DBGrid, realizo la siguiente comprobacion
En estas dos comprobaciones, emito un mensaje al no cumplirse la condicion. Y remarco nuevamente, que en el primer caso, en la pimer consulta, cuando no cumplo la condicion, me emite los mensajes correctamente o me filtra correctamente. La duda que me queda, es que será lo que esta pasando con la segunda consulta. -------------------------------------------------------- Hice una prueba por medio de phpmyadmin, utilizando la misma consulta y con valores variados para el campo "dni_cliente" y me filtra correctamente. Gracias por su tiempo. Saludos !! |
#2
|
||||
|
||||
Ese mensaje, en teoría, no tiene nada que ver con la consulta, sigue el código paso a paso (debug) y encontrarás exactamente la línea del problema.
|
#3
|
|||
|
|||
Hola Casimiro Notevi!
El error surge en la segunda consulta cuando ésta no me devuelve nada, es decir cuando las condiciones que pongo en el where no se cumplen. Lo raro es que cuando en la primera consulta, las condiciones no se cumplen, ese error lo "filtro" por asi decirlo con la pregunta
Y esto es lo que está pasando en la segunda consulta, donde utilizo el mismo procedimiento. Por eso hasta al momento no encuentro otro error mas que ese. Como podria verificar si esa consulta esta vacia o para filtrar y evitar ese error cuando la consulta no me devuelve nada? Saludos !! |
#4
|
||||
|
||||
Te entiendo, pero si no pones el código fuente ¿cómo ayudamos?
|
#5
|
|||
|
|||
Perdon! Aqui esta el codigo !
El error me lo da cuando pongo un dni que no esta en la tabla. Si pongo uno que sea exactamente igual, me devuelve la consulta sin ningun problema. El error que me da es ""List index out of bounds (1)" Obviamente la consulta viene vacia cuando pongo un numero de dni que no existe en la tabla, pero no entiendo porque no pasa por la condicion "Datos.Qconsultas.RecordCount>0"
Saludos !! |
#6
|
||||
|
||||
Está ese código muy raro
Haces un Datos.Qconsultas.Open y luego asignas un datasource que no se sabe de dónde viene y trabajas con lo que parece ser el datasource asignado a algún tipo de grid ¿Para qué sirve entonces el Qconsultas si no lo usas para nada? |
#7
|
|||
|
|||
El datasource que le asino al DBGrid, esta conectado con el Query y a la base de datos!
Es por eso que primero hago la consulta y dependiendo si es que me arroja o no resultados, se lo asigno al dbgrid. Qconsultas, mi dataset DSconsultas, mi datasource y Datos, donde tengo todos los dataset y datasource! Espero que me hayas entendido! |
#8
|
||||
|
||||
sera que dni_cliente es un string y no le estas ponindo als comillas?????
|
#9
|
|||
|
|||
Hola fredo!
El campo "dni" es tipo INT, aun no logro encontrar la solucion! |
#10
|
||||
|
||||
Pero sigue el código paso a paso con el depurador, ahí encontrarás el problema.
Casi seguro que está en pero es difícil de entender ese código tan extraño que usas sin tener una visión más amplia del mismo. |
#11
|
||||
|
||||
coloca un try copn un except y postea el mensaje de error... aca te ayudamos!
|
#12
|
|||
|
|||
Hola buen dia !
Les comento que solucione el problema de la siguiente manera. Cuando hago la comparacion
Yo antes tenia que en cualquiera de las dos opciones, que se cumpla o no la condicion, me dibuje el DBGrid, mas que todo que le ponga los titulos a las columnas, para que quede mas vistoso cuando la consulta no arroja resultados. Bueno lo que hice fue que solo me lo dibuje cuando se cumpla la condicion y funciona correctamente. Ya no me tira el error |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta en MySQL | lgarcia | MySQL | 0 | 11-02-2015 23:58:50 |
Error al ejecutar consulta a MySQL con Zeos | DSK25 | Lazarus, FreePascal, Kylix, etc. | 3 | 31-12-2014 10:13:55 |
consulta mysql con error.. | Theluar | MySQL | 2 | 27-12-2013 20:16:38 |
Consulta de MySQL | noob | MySQL | 8 | 20-10-2008 19:13:00 |
consulta a mysql | jfontane | PHP | 2 | 10-06-2003 19:11:57 |
|