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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-11-2007
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
error en código?

Este código no funciona correctamente
Código Delphi [-]
procedure TfrmBancos.Button1Click(Sender: TObject);
begin
  SQLDataSet1.Close;
  ClientDataSet1.Close;
  SQLDataSet1.CommandText:= ' ';
  if (Length( edit1.Text) > 0)  then
     begin
       SQLDataset1.CommandText := 'SELECT * FROM BANCOS WHERE  NOM_BANCO LIKE :P_NBANCO';
       SQLDataSet1.ParamByName('P_NBANCO').AsString := Edit1.Text + '%'; 
     end
  else
     begin
        SQLDataSet1.CommandText := 'SELECT * FROM BANCOS ORDER BY   BANCO' ;
     end;
  Edit1.Clear;
  SQLDataSet1.Open;
  ClientDataSet1.Open;
end;
La primera vez lo hace correctamente. La segunda, si No introduces un texto en el edit1 (deberia hacer el else), arroja un error de que no existe el campo :P_NBANCO (que no es un campo de la bd sino un parámetro). Si introduces un texto, se queda como está, no sale el error pero no aparece nada.

y este otro sí
Código Delphi [-]
procedure  TfrmBancos.btnBancoClick(Sender: TObject);
begin
    SQLDataSet1.Close;
   ClientDataSet1.Close;
    SQLDataSet1.CommandText := '';
   if Length(edtBanco.Text)> 0  then
       begin
         edtBanco.Text :=  edtBanco.Text + '%';
          SQLDataSet1.CommandText := 'select * from bancos where nom_banco like '  +
             QuotedStr(edtBanco.Text);
       end
      else
       begin
          SQLDataSet1.CommandText := ' select * from bancos order by  banco';
      end;
    edtBanco.Clear;
   SQLDataSet1.Open;
    ClientDataSet1.Open;
end;
Los datos los saco a una grid.
Utilizo la BD es firebird 1.5 y Delphi 2006
No lo comprendo, ¿me podeis explicar que es lo que falta o qué estoy haciendo mal?
Responder Con Cita
  #2  
Antiguo 23-11-2007
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
Edit1 y edtBanco es lo mismo
Responder Con Cita
  #3  
Antiguo 23-11-2007
[basti] basti is offline
Miembro Premium
 
Registrado: ago 2004
Posts: 388
Poder: 20
basti Va por buen camino
Supongo que tienes enlazado SQLDataset y ClientDataSet a través de un proveedor. Si es así, no debes abrir y cerrar el SQLDataSet, de eso ya se encarga el proveedor. Es posible que el error venga de ahí.
Código Delphi [-]
procedure TfrmBancos.Button1Click(Sender: TObject);
begin
  ClientDataSet1.Close;
  SQLDataSet1.CommandText:= ' ';
  if (Length( edit1.Text) > 0)  then
     begin
       SQLDataset1.CommandText := 'SELECT * FROM BANCOS WHERE  NOM_BANCO LIKE :P_NBANCO';
       SQLDataSet1.ParamByName('P_NBANCO').AsString := Edit1.Text + '%'; 
     end
  else
     begin
        SQLDataSet1.CommandText := 'SELECT * FROM BANCOS ORDER BY   BANCO' ;
     end;
  Edit1.Clear;
  ClientDataSet1.Open;
end;
__________________
Saludos.
Responder Con Cita
  #4  
Antiguo 26-11-2007
identsoft identsoft is offline
Miembro
 
Registrado: abr 2006
Posts: 282
Poder: 19
identsoft Va por buen camino
Gracias basti por responder, pero no es esa la solución.
En fin me quedaré con las ganas.
Un saludo (en espacial a basti)
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
Error en este código. FF funciona/IE da error papulo HTML, Javascript y otros 7 14-11-2007 09:44:23
Error en codigo Delar Varios 9 30-07-2007 23:41:06
Error al imprimir codigo de barra ErenioDhG Impresión 0 08-03-2007 18:50:42
Ayuda con error en codigo :-( jorgegetafe Varios 6 07-02-2007 19:29:04
error en el codigo pepelu1975 OOP 10 12-02-2004 13:01:03


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


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