Passar Query para ADODataset
Olá pessoal, minha tela é simples apenas comecei, mais estou com dúvidas, quando a maneira correta de atualizar os dados na grid. Quando aperto o Botão filtrar(BtnFiltrar) ocorre o segundo erro.
Project impressaoaih.exe raised exception class EOleException width message'Invalid Objeto name' SELECT * FROM aiahemitidas WHERE competencia = '200601' and lote = '03'. Process stopped.Use Stepor Run to continue.
Abaixo exido o código. para você verem. Preciso passar valores para a query, por meio de edit.
unit imprimir;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ADODB, DB, Grids, DBGrids;type TForm1 = class(TForm) ADOConnection: TADOConnection; ADODSAih: TADODataSet; GPfiltro: TGroupBox; EdtNumAihInicial: TEdit; EdtNumAihFinal: TEdit; Label1: TLabel; Label2: TLabel; DSAIHA: TDataSource; DBGrid1: TDBGrid; Button1: TButton; Label3: TLabel; Label4: TLabel; EdtCompetencia: TEdit; Edtlote: TEdit; BtnFiltrar: TButton; ADODSAihaihid: TAutoIncField; ADODSAihcompetencia: TWideStringField; ADODSAihaihnumero: TWideStringField; ADODSAihaihdata: TDateTimeField; ADODSAihprontuario: TWideStringField; ADODSAihorgaoemissor: TWideStringField; ADODSAihpaciente: TWideStringField; ADODSAihprocedimento: TWideStringField; ADODSAihmunicipiores: TWideStringField; ADODSAihcpf: TWideStringField; ADODSAihimpressa: TStringField; ADODSAihlote: TStringField; procedure Button1Click(Sender: TObject); procedure BtnFiltrarClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; function SelectSQL(qry:TADODataSet; Instr: String): Boolean;implementation{$R *.dfm}{With cdsCustomer do Begin Close; CommandText := "select * from aihemitidas where numeroaih >=' " + QuotedStr (EdtNumAihInicial.Text )+ "'"; Open;End; // with }function SelectSQL(qry: TADODataSet; Instr: String): Boolean;beginTry qry.Close; qry.CommandText := Instr; //qry.Open; qry.Active := true; Result := True Except Result := FalseEnd; // Tryend;procedure TForm1.Button1Click(Sender: TObject);var Texto : TextFile; qCons : TADODataSet; Linha : String;begin inherited; //qCons. := ''; try try {AssignFile(F,ExtractFilePath(Application.ExeName)+'\Pedido.txt');} AssignFile(Texto,'LPT1'); Rewrite(Texto); Writeln(Texto,#27#15+' Claudemir'); Writeln(Texto,#27#15+' teste de impressão matricial'); Writeln(Texto,#27#15+' Em fim deu certo'); CloseFile(Texto) except on E:Exception do begin //Result := E.Message; end; end; finally qCons.Close; FreeAndNil(qCons); CloseFile(Texto); end;end;procedure TForm1.BtnFiltrarClick(Sender: TObject);var conectou : boolean; frase : string;begin with GPfiltro do begin frase := 'SELECT * FROM aihemitidas WHERE competencia = ' + QuotedStr(EdtCompetencia.Text) + ' AND lote = '+ QuotedStr(Edtlote.Text); showmessage(frase); conectou := SelectSQL(ADODSAih, frase); end;end;end.Discussão (9)
Carregando comentários...