Fórum exibir resultado de select no dbedit #607051

15/12/2019

0

Como faço para exibir o resultado do meu select em um dbedit ao invés de exibir no dbgrid? já tenho esse código.

if (edit1.Text = '''') then
begin
messagedlg(''Digite um codigo!'',MtInformation,[Mbok],0);
edit1.SetFocus;
end
else if Cb_opcao.ItemIndex = -1 then
begin
Messagedlg(''Escolha Uma Opção de pesquisa!'',MtInformation,[Mbok],0);
abort;
end
else
Begin

dm.SQL_DEVOLUCAO.Close;
dm.SQL_DEVOLUCAO.SQL.Clear;
dm.SQL_DEVOLUCAO.Params.Clear;
dm.SQL_DEVOLUCAO.SQL.Add(''select ID_LOCACAO,COD_LIVRO,TITULO,COD_LEITOR,LEITOR,DEVOLVER,STATUS_LOCACAO,DT_LOCACAO,NOME_USUARIO FROM LOCACAO inner join LEITORES ON LEITORES.ID_LEITOR = LOCACAO.ID_LOCACAO inner join LIVROS ON LIVROS.ID_LIVRO = LOCACAO.COD_LIVRO'');

case Cb_opcao.ItemIndex of
0: begin
dm.SQL_DEVOLUCAO.SQL.Add(''WHERE ID_LOCACAO=:Pcodigo'');
dm.SQL_DEVOLUCAO.Params.ParamByName(''Pcodigo'').AsInteger:=StrToInt(EDIT1.Text);
end;

1: begin
dm.SQL_DEVOLUCAO.SQL.Add(''WHERE TITULO=:Pnome'');
dm.SQL_DEVOLUCAO.ParamByName(''Pnome'').AsString:=Edit1.Text;
end;

end;

End;
Diego Ribeiro

Diego Ribeiro

Responder

Posts

15/12/2019

Alberto

As perguntas são?
.
1) O que o seu select retorna?
a) uma linha com varias colunas
b) varias linhas com várias colunas
.
2) o que realmente você quer mostrar nesse seu "um dbedit"?
Porque "um dbedit" é pra mostrar o conteudo de um unico campo,
mas o seu select retorna vários campos.

3) Assumindo que você colocara VARIOS dbEdit, a fim de mostrar
cada campo em um dbEdit diferente, basta associar os dbEdit aos campos.

datasource1.DataSet := dm.SQL_DEVOLUCAO;
dbedit1.DataSource := datasource1;
dbedit1.DataField := 'id_locacao';

Responder

Gostei + 0

16/12/2019

Diego Ribeiro

em que lugar da programação eu coloco esse código? dentro de cada 'CASE'?
Responder

Gostei + 0

16/12/2019

Alberto

Depois que a query estiver pronta, pois antes disso os campos ainda não existem.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar