我在寫入第二次呼叫with ADOQuery1 do時報錯,請問是為什么?難道with ADOQuery1 do不能多次使用嗎?
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select distinct type from alldata ');
Open;
end;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
ComboBox2.Items.Add(ADOQuery1.fieldbyname('type').AsString);
ADOQuery1.Next;
end;
ComboBox2.ItemIndex:=0;
end;
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select distinct code from alldata where type="P-VIP 210/0.8 E20.7"');
Open;
end;
for i:=0 to ADOQuery1.RecordCount-1 do
begin
ComboBox1.Items.Add(ADOQuery1.fieldbyname('code').AsString);
ADOQuery1.Next;
end;
ComboBox1.ItemIndex:=0;
end;
uj5u.com熱心網友回復:
把第18行的 end; 去掉uj5u.com熱心網友回復:
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select distinct type from alldata ');
Open;
end;
ComboBox2.Items.clear;
while Not ADOQuery1.DataSource.DataSet.Eof do
begin
ComboBox2.Items.Add(ADOQuery1.fieldbyname('type').AsString);
ADOQuery1.Next;
end;
ComboBox2.ItemIndex:=0;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i:integer;
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('select distinct code from alldata where type="P-VIP 210/0.8 E20.7"');
Open;
end;
ComboBox2.Items.clear;
ADOQuery1.DataSource.DataSet.First;
while Not ADOQuery1.DataSource.DataSet.Eof do
begin
ComboBox1.Items.Add(ADOQuery1.fieldbyname('code').AsString);
ADOQuery1.Next;
end;
ComboBox1.ItemIndex:=0;
end;
uj5u.com熱心網友回復:
把第二個的close去掉uj5u.com熱心網友回復:
多了一個Closeuj5u.com熱心網友回復:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
begin
ComboBox1.Items.Clear;
ComboBox2.Items.Clear;//這兩句最好加上,當然如果確信它們為空的話,不加也行
with ADOQuery1 do
begin
Close;
{SQL.Clear;
SQL.Add('select distinct type from alldata ');
這樣是不是更簡潔?}
SQL.Text:='select distinct type from alldata';
Open;
First; //First要加上,表示從第一項開始
for i:=1 to RecordCount do //這樣速度稍快點
begin
ComboBox2.Items.Add(Trim(Fieldbyname('type').AsString)); //加個Trim去掉兩邊的空格,顯的更緊湊
Next;
end;
ComboBox2.ItemIndex:=0;
Close;
SQL.Text:='select distinct code from alldata where type="P-VIP 210/0.8 E20.7"';
Open;
First;
for i:=1 to RecordCount do
begin
ComboBox1.Items.Add(Trim(Fieldbyname('code').AsString)); //加個Trim去掉兩邊的空格,顯的更緊湊
Next;
end;
ComboBox1.ItemIndex:=0;
end;
end;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61681.html
標籤:數據庫相關
上一篇:Delphi遠程資料庫操作
