Pesquisa de Cliente

05/11/2017

2

Boa noite a todos!

Estou com esse pequeno problema, quando compilo essa aplicação.

"projeto estoque.exe raised exception class TDBXError with message 'Token unknown - line 1, column 39 ' FAB%"
projeto estoque.exe raised exception class EOleException with message 'Token unknown - line 1, column 39 ' FAB%"

Se alguém poder me ajudar já agradeço desde já!

código da aplicação, Banco de dados em firebird 2.5 delphi 10 Seattles


unit UFrmModelo;

interface

uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Grids,
Vcl.DBGrids, Vcl.ExtCtrls, Vcl.ComCtrls;

type
TFrmModelo = class(TForm)
PageControl1: TPageControl;
TabsConsulta: TTabSheet;
Panel1: TPanel;
Label1: TLabel;
EdtPesquisar: TEdit;
BtnProcurar: TButton;
BtnExportar: TButton;
CbCampo: TComboBox;
Panel2: TPanel;
BtnNovo: TButton;
BtnEditar: TButton;
BtnConsultar: TButton;
BtnImprimir: TButton;
BtnHistorico: TButton;
BtnMovimento: TButton;
BtnExcluir: TButton;
DBGrid1: TDBGrid;
TabsCadastro: TTabSheet;
Panel3: TPanel;
BtnFechar: TButton;
BtnSair: TButton;
BtnCancelar: TButton;
BtnSalvar: TButton;
GroupBox2: TGroupBox;
GroupBox4: TGroupBox;
GroupBox1: TGroupBox;
GroupBox3: TGroupBox;
RbComeca: TRadioButton;
RbContem: TRadioButton;
DtsConsulta: TDataSource;
DtsCadastra: TDataSource;
procedure FormShow(Sender: TObject);
procedure BtnProcurarClick(Sender: TObject);
private
_pesquisa : string;
{ Private declarations }
public
procedure PesquisaSQL(txt : string);
{ Public declarations }
end;

var
FrmModelo: TFrmModelo;

implementation

{$R *.dfm}

uses UdmCadastro, UdmPesquisa, Datasnap.DBClient;

procedure TFrmModelo.BtnProcurarClick(Sender: TObject);
begin
if RbContem.Checked then
_pesquisa := CbCampo.Text + 'like' + QuotedStr( '%' + EdtPesquisar.Text + '%') //Esta apontando erro nessa linha com o Like
else if RbComeca.Checked then
_pesquisa := CbCampo.Text + 'like' + QuotedStr(EdtPesquisar.Text + '%');

PesquisaSQL('select * from cliente where');
end;

procedure TFrmModelo.FormShow(Sender: TObject);
var I: Integer;
begin
for I := 0 to DtsConsulta.DataSet.FieldCount - 1 do
begin
if DtsConsulta.DataSet.Fields[I].DataType in [ftString, ftInteger, ftFixedChar, ftWideString] then
CbCampo.Items.Add(DtsConsulta.DataSet.Fields[I].FieldName);
end;

end;

procedure TFrmModelo.PesquisaSQL(txt: string);
begin
with TClientDataSet(DtsConsulta.DataSet) do
begin
close;
CommandText := txt + _pesquisa;
open;
end;
end;
Responder

Post mais votado

06/11/2017

Já experimentou colocar um espaço antes e depois da palavra 'LIKE', que fica assim ' LIKE ' ?
Acreditando que o CbCampo.Text é obrigatório estar preenchido (ou selecionado).

Outra situação pode ser detectada através de debugação, na linha especifica, experimente acompanhar o processo e verificar o conteúdo da variável "txt" quando entra na "procedure TFrmModelo.PesquisaSQL(txt: string);"
if RbContem.Checked then
   _pesquisa := CbCampo.Text + ' like ' + QuotedStr( '%' + EdtPesquisar.Text + '%') //Esta apontando erro nessa linha com o Like
else if RbComeca.Checked then
   _pesquisa := CbCampo.Text + ' like '  + QuotedStr(EdtPesquisar.Text + '%');




Só lembrando, quando for colar um código não esqueça de colocar as tags, obrigado.
Responder

Mais Posts

06/11/2017

Fabio Silva

Obrigado, esqueci de colocar a Tags,

Sim, já tentei, so que me e a presentado esta mensagem.

projeto estoque.exe raised exception class TDBXError with message 'Token unknown - line 1, column 3 like'.
Responder