Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Consulta usando query en delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=59367)

Yensis22 24-08-2008 23:17:56

Consulta usando query en delphi 7
 
estoy creado una aplicacion en la cual estoy teniendo problema con una consulta mi base de datos esta es acces y estoy los siguiente componente usando datamodule, database y query para relizar las consulta que es con los que estoy teniendo problema yo puedo ver y almacena los datos y tengo tos esto componten enlasado pero con las con sulta me esta tirando este erorror. Proyect facturacion.exe raised exception class EDBEningError with messanger "General SQL error. Process stopped. Use Step or Run to continue

y este es el codigo que tengo el cual se que esta bueno por que funciona bien en paradox pero nose si hay que cambiar algo para usalo en acess

codigo en DELPHI 7 lo que esta en azul en codigo es donde marca el error cundo se para la ejecucion

unit FConsuEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;

type
TFConstaEquipos = class(TForm)
Bevel2: TBevel;
Codequipo: TEdit;
Busqueda: TComboBox;
cBuscar: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
DBGrid1: TDBGrid;
procedure cBuscarClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
FConstaEquipos: TFConstaEquipos;

implementation
uses login;
{$R *.dfm}
procedure TFConstaEquipos.cBuscarClick(Sender: TObject);
begin


if Busqueda.ITemIndex = 0 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(placa) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 1 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(modelo) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 2 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(marca) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 3 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(Año) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
if Busqueda.ITemIndex = 4 then Begin
if length(trim(Codequipo.Text)) = 0 then Begin
ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
exit;
End;
Codequipo.Text := trim(Codequipo.Text);
ConexionDB.QEquipos.Active := False;
ConexionDB.QEquipos.SQL.Clear;
ConexionDB.QEquipos.SQL.Add('select * from equipos where upper(ficha) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
ConexionDB.QEquipos.Active := True;
if ConexionDB.QEquipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
End;
end;

procedure TFConstaEquipos.BitBtn1Click(Sender: TObject);
begin
RepConequipos.preview();
end;
procedure TFConstaEquipos.BitBtn2Click(Sender: TObject);
begin
RepConequipos.print();();
end;
end.




Caral 24-08-2008 23:36:12

Hola
esta repetido aqui.
Saludos

Yensis22 25-08-2008 05:35:57

Lo cambie a ADO pero me sigue tirando este erroe
que la funcion no esta defonoda




Y este codigo me funciona bien todo pero con una base de dato en paradox, pero la base de dato la tengo que entregar en access por favor ayudemen

Código Delphi [-]
unit cons;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls;
type
  TFConsuEquip = class(TForm)
    Bevel2: TBevel;
    Bevel1: TBevel;
    Codequipo: TEdit;
    Busqueda: TComboBox;
    cBuscar: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn4: TBitBtn;
    DBGrid1: TDBGrid;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    ADOconequipos: TADOQuery;
    DSADOconequipos: TDataSource;
    procedure cBuscarClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  FConsuEquip: TFConsuEquip;
implementation
uses data;
{$R *.dfm}
procedure TFConsuEquip.cBuscarClick(Sender: TObject);
begin
if Busqueda.ITemIndex = 0 then Begin
         if length(trim(Codequipo.Text)) = 0 then Begin
                ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
                exit;
         End;
         Codequipo.Text := trim(Codequipo.Text);
        ADOconequipos.Active := False;
         ADOconequipos.SQL.Clear;
         ADOconequipos.SQL.Add('select * from equipos where upper(Equipos) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
       ADOconequipos.Active := True;
         if ADOconequipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
  End;
if Busqueda.ITemIndex = 1 then Begin
         if length(trim(Codequipo.Text)) = 0 then Begin
                ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
                exit;
         End;
         Codequipo.Text := trim(Codequipo.Text);
         ADOconequipos.Active := False;
         ADOconequipos.SQL.Clear;
         ADOconequipos.SQL.Add('select * from equipos where upper(marca) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
        ADOconequipos.Active := True;
         if ADOconequipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
    End;
 if Busqueda.ITemIndex = 2 then Begin
         if length(trim(Codequipo.Text)) = 0 then Begin
                ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
                exit;
         End;
         Codequipo.Text := trim(Codequipo.Text);
         ADOconequipos.Active := False;
         ADOconequipos.SQL.Clear;
        ADOconequipos.SQL.Add('select * from equipos where upper(modelo) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
         ADOconequipos.Active := True;
         if ADOconequipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
    End;
 if Busqueda.ITemIndex = 3 then Begin
         if length(trim(Codequipo.Text)) = 0 then Begin
                ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
                exit;
         End;
         Codequipo.Text := trim(Codequipo.Text);
         ADOconequipos.Active := False;
         ADOconequipos.SQL.Clear;
         ADOconequipos.SQL.Add('select * from equipos where upper(Año) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
         ADOconequipos.Active := True;
         if ADOconequipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
    End;
 if Busqueda.ITemIndex = 4 then Begin
         if length(trim(Codequipo.Text)) = 0 then Begin
                ShowMessage('Tiene que Especificar un valor para inicial la Consulta');
                exit;
         End;
         Codequipo.Text := trim(Codequipo.Text);
         ADOconequipos.Active := False;
        ADOconequipos.SQL.Clear;
         ADOconequipos.SQL.Add('select * from equipos where upper(fecha) like ''%' + UpperCase(Codequipo.Text) + '%'' ');
        ADOconequipos.Active := True;
         if ADOconequipos.Eof then ShowMessage('Lo siento no se encuentra ningun Registros');
    End;
   end;
 

end.

tcp_ip_es 25-08-2008 12:29:55

el comodin en Access creo que era el * con lo que líneas como esta deberían quedar así.... a parte del upper...

Código Delphi [-]
         ADOconequipos.SQL.Add('select * from equipos where ucase(Equipos) like ''*' + UpperCase(Codequipo.Text) + '*'' ');


La franja horaria es GMT +2. Ahora son las 01:04:54.

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