大家帮我看看,为什么dblistbox里没数据?(50分)

  • 主题发起人 主题发起人 火凤凰
  • 开始时间 开始时间

火凤凰

Unregistered / Unconfirmed
GUEST, unregistred user!
程序如下:
type
TForm1 = class(TForm)
DBListBox1: TDBListBox;
DataSource1: TDataSource;
Query1: TQuery;
Button1: TButton;
DBGrid1: TDBGrid;
procedure Button1Click(Sender: TObject);
private
………………
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.Close;
query1.SQL.Clear ;
query1.SQL.Add('SELECT 类别名称 FROM "lb.db" GROUP BY 类别名称');
query1.Open;
dblistbox1.DataSource:=DataSource1;
dblistbox1.DataField:='类别名称';
DBGrid1.DataSource:=DataSource1;
end;
为什么dblistbox1里没数据,而DBGrid1里有数据啊?
怎么让dblistbox1里显示SQL查询的数据?
 
建议将Dataset中的数据逐个加到DBListBox的Item中
 
如:
DataSource1.DataSet.First;
while not DataSource1.DataSet.Eof do
begin
DBListBox1.Items.Add(DataSource1.DataSet.FieldValues['FieldName']);
DataSource1.DataSet.Next;
end;
 
DBListBox是不能直接显示数据的,我估计你是想将表中的数据列表显示,
建议你只用DBLookupListBox,设置ListSource属性和ListField属性和KeyField属性就可以了
 
呵呵,DBListBox连上数据源后是不会自动添加数据的,
你应该把‘类别名称’这个字段所有的值添加到DBListBox中,
若是想先看看效果,你先把‘类别名称’中的几个值放到
DBListBox的Items里,然后让DBGrid滚动到相应的地方,看看
效果,呵呵,我保证你一看就明白了
 
发现自己好笨
如果按我那样做
那DBListBox与ListBox就没什么区别了
呵呵指教指教
 
难道非的自己把值加到DBListBox里面吗?
要是这样,只有用DBGrid了 :(
 
多人接受答案了。
 
后退
顶部