Pesquisa de Cliente
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;
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;
Fabio Silva
Curtidas 0
Melhor post
Luiz Vichiatto
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);"
Só lembrando, quando for colar um código não esqueça de colocar as tags, obrigado.
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.
GOSTEI 1
Mais Respostas
Fabio Silva
05/11/2017
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'.
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'.
GOSTEI 1