Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-09-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Problema con forms y zeos

Saludos Compañeros, de nuevo recurro a ustedes para que me ayuden en un nuevo problema que se me presenta sucede lo siguiente, tengo un formulario donde contiene los siguientes componentes:

1 - speedbutton
2 - ZQuery

y en el otro form contiene los edits corresponidientes al ZQuery, en el speedbutton tengo el siguiente codigo:

Código Delphi [-]
procedure TFTramiteMod.SpeedButton21Click(Sender: TObject);
begin
if (DBEdit1.Text = '') OR (DBEdit1.Text = '0') then
 begin
  MessageDlg('¡No se encuentra el número de registro!',mtError,[mbOK],0);
 end
 else
 begin
    FModPed:=TFModPed.Create(self);
    ZModPed.SQL.Add(' where no="'+DBEdit1.Text+'"');
    ZModPed.open;
    FModPed.ZDpto.Open;
    FModPed.Show;
 end;
end;

clickeo el boton el codigo funciona perfecto, aqui viene el problema, cierro el form que llame con el boton, no? y si vuel vo a presionar el mismo boton que hace un momento me funciono me tira esos errores:

primero me sale:

Cita:
source file not found: ZDbcMySqlUtils.pas
si presiono a ignorar me sale ese otro error:

Cita:
---------------------------
Debugger Exception Notification
---------------------------
Project Sigesped.exe raised exception class EZSQLException with message 'SQL Error: 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 'where no="1"' at line 3'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
no entiendo por que me sucede si al primer intento me funciona pero luego si lo presiono de nuevo me tira ese error.

saludos...
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #2  
Antiguo 01-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

La consulta SQL debería quedar tal que así:

Código SQL [-]
where no = 'valor'

Y creo tal vez también funcionaría sin comillas simples, pero, el problema está en que usas comillas dobles. Vamos, eso creo...

Quizás con la función "Format" (SysUtils.pas) pudieras arreglarlo... para empezar...

Código Delphi [-]
ZModPed.SQL.Add(Format(' where no = ''%s''',[DBEdit1.Text]));
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 01-09-2007 a las 07:17:55.
Responder Con Cita
  #3  
Antiguo 01-09-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Gracias dec por tu pronta respuesta pero de las dos formas que me sugeriste me da el mismo error al presionar el boton de nuevo:

Cita:
---------------------------
Debugger Exception Notification
---------------------------
Project Sigesped.exe raised exception class EZSQLException with message 'SQL Error: 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 'where no = 258' at line 3'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #4  
Antiguo 01-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues es que el mismo mensaje de error está declarando dónde está el problema: en el "where" de la consulta SQL. Y es un problema de "sintáxis". Antes era por usar comillas dobles (creo estar seguro, pero, vamos, pueden corregirme) y ahora es por no usar comillas simples... eso, o estoy completamente equivocado.

En definitiva tienes que conformar la consulta SQL de forma que quede así:

Código SQL [-]
... where no = '123'

Y no:

Código SQL [-]
... where no = 123

Ni tampoco:

Código SQL [-]
... where no = "123"
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 01-09-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
eso es bastante raro dec, si es problema de xintaxis de sql no me deberia funcionar en el primer intento para luego no me funcione. digo eso creo yo, segun mi impresion que de alguna manera luego de presionar el boton la sintaxis where esté repetida dos veces, esa es la impresion que me da.

saludos...
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #6  
Antiguo 01-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

... Pues tal vez tengas que "limpiar" antes el componente...

Código Delphi [-]
ZModPed.SQL.Clear();
{...}
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 01-09-2007
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por enecumene Ver Mensaje
la sintaxis where esté repetida dos veces, esa es la impresion que me da.

saludos...
Tienes una muyt buena impresion de lo que sucede

Cita:
Empezado por dec Ver Mensaje
Hola,

... Pues tal vez tengas que "limpiar" antes el componente...

Código Delphi [-]
ZModPed.SQL.Clear();
{...}
En realidad con eso funciona pero como tienes precargadas la sentencia sql si le da el clear se va a borrar toda la instruccion. la unica opcion q veo es cargar la setencia completa cada vez que presione el boton, usar parametros o usar banderas
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #8  
Antiguo 01-09-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hey, Muchas Gracias DEC y EDUARCOL por su ayuda, era algo tan simple, el codigo me quedo asi:

Código Delphi [-]
procedure TFTramiteMod.SpeedButton21Click(Sender: TObject);
begin
if (DBEdit1.Text = '') OR (DBEdit1.Text = '0') then
 begin
  MessageDlg('¡No se encuentra el número de registro!',mtError,[mbOK],0);
 end
 else
 begin
    FModPed:=TFModPed.Create(self);
    ZModPed.SQL.Clear;
    ZModPed.SQL.Add('select * from reg_pedidos');
    ZModPed.SQL.Add(Format(' where no = ''%s''',[DBEdit1.Text]));
    ZModPed.open;
    FModPed.ZDpto.Open;
    ShowMessage(ZModPed.SQL.Text);
    FModPed.Show;
 end;
end;

Nuevamente les doy las gracias, Saludos..
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
Respuesta



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
Problema con Append en MDIChild forms enecumene Conexión con bases de datos 8 15-08-2007 21:59:34
Problema con forms krilea Varios 3 08-03-2005 14:59:27
Problema con Forms Dinamicos diegofhernando Varios 5 08-10-2003 03:09:26
Problema con Forms diegofhernando Varios 3 16-07-2003 22:22:10
Super lio con los forms(gran problema) Sandochan Varios 3 25-06-2003 02:24:47


La franja horaria es GMT +2. Ahora son las 23:17:17.


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