comboBox1.Clear; with ClientDataSet1 do //把数据写入至comboBox中 begin First; while Not Eof do begin ComboBox1.Items.Add(Fields[1].AsString); Next; end; end;
comboBox1.Clear; with ClientDataSet1 do //把数据写入至comboBox中 begin First; while Not Eof do begin ComboBox1.Items.Add(Fields[1].AsString); Next; end; end;
遍历表,把字段值写入ComboBox的items中
form中放一TABLE comboBox1.Clear; with table1 do begin First; while Not Eof do begin ComboBox1.Items.Add(Fields[1].AsString); Next; end; end;
那如何在ComboBox的items显示数据库一个字段所有不重复的值,注意是不重复的值!
用query 也可以 with query do begin close; sql.clear; sql.add('select 字段名 from 表名'); open; while not eof do begin combobox1.itmes.add(fieldbyname('字段名').value); next; end; end; 我一直都是这样做的。不知道你说的意思是否是这样?
用Query来作把,可能会好一些至少可以避免重复的值。 Query1.Close; Query1.SQL.Text:='Select Distinct aField from yourTable'; Query1.Active:=True; Query1.First; DBComboBox1.DataSet.DisableControls DBComboBox1.Items.Clear; while Not Query1.Eof do begin DBComboBox1.Items.Add(Query1.Fields[0].AsString); Query1.Next; end; DBComboBox1.DataSet.EnableControls
with ClientDataSet1 do //把数据写入至comboBox中
begin
First;
while Not Eof do
begin
ComboBox1.Items.Add(Fields[1].AsString);
Next;
end;
end;
with ClientDataSet1 do //把数据写入至comboBox中
begin
First;
while Not Eof do
begin
ComboBox1.Items.Add(Fields[1].AsString);
Next;
end;
end;
comboBox1.Clear;
with table1 do
begin
First;
while Not Eof do
begin
ComboBox1.Items.Add(Fields[1].AsString);
Next;
end;
end;
with query do
begin
close;
sql.clear;
sql.add('select 字段名 from 表名');
open;
while not eof do
begin
combobox1.itmes.add(fieldbyname('字段名').value);
next;
end;
end;
我一直都是这样做的。不知道你说的意思是否是这样?
用DBLookupcombox 也可以的。
Query1.Close;
Query1.SQL.Text:='Select Distinct aField from yourTable';
Query1.Active:=True;
Query1.First;
DBComboBox1.DataSet.DisableControls
DBComboBox1.Items.Clear;
while Not Query1.Eof do
begin
DBComboBox1.Items.Add(Query1.Fields[0].AsString);
Query1.Next;
end;
DBComboBox1.DataSet.EnableControls