Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-03-2016
GUN10 GUN10 is offline
Miembro
 
Registrado: feb 2010
Posts: 37
Poder: 0
GUN10 Va por buen camino
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.

Código Delphi [-]
Datos.Qconsultas.Close;
      Datos.Qconsultas.SQL.Clear;
      Datos.Qconsultas.SQL.Add('SELECT orden_reparacion.cod_ordenreparacion ,orden_reparacion.fecha_ingreso, clientes.dni_cliente, clientes.nombre as nombre_cliente, clientes.apellido as apellido_cliente,usuarios.nombre, categoria_equipo.nombre, '+
                               'orden_reparacion.marca, orden_reparacion.modelo, detalle_ordenreparacion.dni_usuario, detalle_ordenreparacion.estado, detalle_ordenreparacion.fecha_terminado, detalle_ordenreparacion.precio '+
                               'FROM orden_reparacion, categoria_equipo, clientes, usuarios, detalle_ordenreparacion '+
                               'WHERE orden_reparacion.dni_usuario=usuarios.dni_usuario AND categoria_equipo.cod_categoria=orden_reparacion.cod_categoria and orden_reparacion.cod_ordenreparacion=detalle_ordenreparacion.cod_ordenreparacion '+
                               'AND orden_reparacion.dni_cliente=clientes.dni_cliente AND detalle_ordenreparacion.estado=''5'' AND orden_reparacion.cod_ordenreparacion='+Enumeroorden.text);

      Datos.Qconsultas.Open;

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.

Código Delphi [-]
Datos.Qconsultas.Close;
      Datos.Qconsultas.SQL.Clear;
      Datos.Qconsultas.SQL.Add('SELECT orden_reparacion.cod_ordenreparacion ,orden_reparacion.fecha_ingreso, clientes.dni_cliente, clientes.nombre as nombre_cliente, clientes.apellido as apellido_cliente,usuarios.nombre, categoria_equipo.nombre, '+
                               'orden_reparacion.marca, orden_reparacion.modelo, detalle_ordenreparacion.dni_usuario, detalle_ordenreparacion.estado, detalle_ordenreparacion.fecha_terminado, detalle_ordenreparacion.precio '+
                               'FROM orden_reparacion, categoria_equipo, clientes, usuarios, detalle_ordenreparacion '+
                               'WHERE orden_reparacion.dni_usuario=usuarios.dni_usuario AND categoria_equipo.cod_categoria=orden_reparacion.cod_categoria and orden_reparacion.cod_ordenreparacion=detalle_ordenreparacion.cod_ordenreparacion '+
                               'AND orden_reparacion.dni_cliente=clientes.dni_cliente AND clientes.dni_cliente='+Edni.Text);
      Datos.Qconsultas.Open;

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

Código Delphi [-]
  if (Enumeroorden.Text=' ') then

y tambien en ambos casos, antes de conectar el Query con el DBGrid, realizo la siguiente comprobacion

Código Delphi [-]
if (Datos.Qconsultas.RecordCount>0) then

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 !!
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

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


La franja horaria es GMT +2. Ahora son las 22:11:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi