Olá amigos, estou fazendo um trabalho orientado a objeto para a faculdade, sempre programei um Delphi usando DbExpress, só que neste projeto estou Usando ADO. Tenho o seguinte problema, não estou conseguindo preencher o DBGRid com dados vindos de uma consulta do BD, segue o código da consulta:
function TuClassClientes.Consultar(Condicao: string): TDataSource;
Pergunta
SIGNORI
Olá amigos, estou fazendo um trabalho orientado a objeto para a faculdade, sempre programei um Delphi usando DbExpress, só que neste projeto estou Usando ADO. Tenho o seguinte problema, não estou conseguindo preencher o DBGRid com dados vindos de uma consulta do BD, segue o código da consulta:
function TuClassClientes.Consultar(Condicao: string): TDataSource;
var
Qry: TADOQuery;
ds: TDataSource;
begin
try
Qry := TADOQuery.Create(nil);
ds := TDataSource.Create(nil);
try
if Condicao <> '' then
Condicao := 'where('+Condicao+')';
with Qry do
begin
Connection := TuClassConexao.ObtemConexao;
Close;
SQL.Text := 'select CLIENTES.ID_CLIENTE, CLIENTES.NOME, CLIENTES.DATA_NASC '+
'from CLIENTES';
Open;
end;
ds.DataSet := Qry;
Result := ds;
finally
ds.Free;
Qry.Free;
end;
except on E: Exception do
raise Exception.Create('Ops! Ocorreu um erro na consulta: '+e.Message);
end;
end;
Se executar a SQL direto no BD retorna os registros.. no forma chamo da seguinte maneira;
procedure TForm1.Button5Click(Sender: TObject);
var
CLIENTE: TuClassClientes;
begin
CLIENTE := TuClassClientes.Create;
try
DBGrid1.DataSource := CLIENTE.Consultar('');
finally
CLIENTE.Free;
end;
end;
Oque está errado? Obrigado!
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.