Inserir dados dentro de ListBox
Seguinte, tenho um banco de dados CLIENTE com Nome e Tel.
Gostaria de fazer uma pesquisa por nome e se tiver esse nome inserir no listBox
tentei algo assim, mais o que faltou?
Alguém me ajuda?
Abraços
Gostaria de fazer uma pesquisa por nome e se tiver esse nome inserir no listBox
tentei algo assim, mais o que faltou?
var a: String; begin l1.Caption:=empresa; l2.Caption:=processo; ADOQuery1.SQL.Clear; a:=´Select * From PROCESSO Where NomedoProcesso="´+processo+´" AND NomeDaEmpresa="´+empresa+´"´; ADOQuery1.SQL.Add(a); ADOQuery1.Close; ADOQuery1.Open; while not ADOQuery1.Eof do begin // Aqui que devo adicionar as strings para o List Box??? ADOQuery1.Next; end;
Alguém me ajuda?
Abraços
Redoctober
Curtidas 0
Respostas
Paulo_amorim
07/06/2004
Olá
onde sua String são os dados da Query.
Para pegar os dados da query, utilize
Espero que ajude
Ate+
ListBox.Items.Add( SuaString )
onde sua String são os dados da Query.
Para pegar os dados da query, utilize
Query.FieldByName(´campo´).AsString;
Espero que ajude
Ate+
GOSTEI 0
Redoctober
07/06/2004
Fiz assim, mais esta dando erro no AddItem:
O que errei?
procedure TfrmListaProblemas.FormShow(Sender: TObject);
var a: String;
begin
empresa:=l1.Caption;
processo:=l2.Caption;
ADOQuery1.SQL.Clear;
a:=´Select * From PROCESSO Where NomedoProcesso=´´+processo+´´ AND NomeDaEmpresa=´´+empresa+´´´;
ADOQuery1.SQL.Add(a);
ADOQuery1.Close;
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
ListBox1.AddItem(ADOQuery1.FieldByName(´NomedoProcesso´).AsString);
ADOQuery1.Next;
end;
O que errei?
GOSTEI 0
Paulo_amorim
07/06/2004
Olá
Não é AddItem mas sim
Listbox1.Items.Add(...);
Tente denovo :D
Espero que funcione
Até+
Não é AddItem mas sim
Listbox1.Items.Add(...);
Tente denovo :D
Espero que funcione
Até+
GOSTEI 0
Redoctober
07/06/2004
Olá
Não é AddItem mas sim
Listbox1.Items.Add(...);
Tente denovo :D
Espero que funcione
Até+
Agora deu certo!!!!
Só que resolvi colocar um DBGrid no lugar de um ListBox, O problema é que o DBGrid tem duas colunas, só não estou sabendo apontar para cada coluna... Veja o meu código abaixo:
procedure TfrmListaProblemas.FormShow(Sender: TObject); var a: String; nome,status: string; begin empresa:=l1.Caption; processo:=l2.Caption; ADOQuery1.SQL.Clear; a:=´Select * From PROBLEMAS Where Processo="´+processo+´" AND Empresa="´+empresa+´"´; ADOQuery1.SQL.Add(a); ADOQuery1.Close; ADOQuery1.Open; while not ADOQuery1.Eof do begin nome:=ADOQuery1.FieldByName(´NomedoProblema´).AsString; status:=ADOQuery1.FieldByName(´Status´).AsString; DBGrid1.Columns.Items.:=nome; ADOQuery1.Next; end;
Como eu faço?
Abraco
GOSTEI 0
Fabio.hc
07/06/2004
No dbgrid vc linka a propriedade datasource no componente datasource q esta linkdado no ADOQuery1, assim quando vc der um open no ADOQuery1 os dados serão mostrados no DBGrid:
[b:c07d4062c7] DBGrid1.DataSource:=DataSource1;
DataSource1.DataSet:=ADOQuery1;[/b:c07d4062c7]
[b:c07d4062c7] DBGrid1.DataSource:=DataSource1;
DataSource1.DataSet:=ADOQuery1;[/b:c07d4062c7]
procedure TfrmListaProblemas.FormShow(Sender: TObject); var a: String; nome,status: string; begin empresa:=l1.Caption; processo:=l2.Caption; DBGrid1.DataSource:=DataSource1; DataSource1.DataSet:=ADOQuery1; ADOQuery1.SQL.Clear; a:=´Select * From PROBLEMAS Where Processo="´+processo+´" AND Empresa="´+empresa+´"´; ADOQuery1.SQL.Add(a); ADOQuery1.Close; ADOQuery1.Open; end;
GOSTEI 0
Paulo_amorim
07/06/2004
DBGrid1.DataSource:=DataSource1;
DataSource1.DataSet:=ADOQuery1;
Olá
Só para lembrar, isso também pode ser feito em tempo de desenvolvimento mudando as propriedades dos componentes dbgrid e datasource no object inspector
Até+
GOSTEI 0