Jesses

集中精神
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Delphi中用TListView显示数据库数据

Posted on 2009-12-30 20:25  Jesses  阅读(377)  评论(0)    收藏  举报

首先创建一个新的项目,然后向窗体上添加一个TQuery组件和一个TListView组件.

 设置TQuery组件的DatabaseName属性设置为DBDEMOS,SQL属性设置为select * from country。然后添加程序初始化代码如下:


with adoquery1 do
  begin
  close;
  ADOConnection1:=TADOConnection.Create(nil);
  Adoconnection1.LoginPrompt:=false;
  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False';
  adoquery1.Connection :=  ADOConnection1;
  SQL.Clear;
  SQL.add('select * from BOSS');
  Open;
  end;
  for i:=0 to adoquery1.FieldCount-1 do
begin
TempColumn:=self.ListView1.Columns.Add;
TempColumn.Caption:=adoquery1.Fields[i].FieldName;
end;
adoquery1.First;
while not adoquery1.Eof do
begin
TempItem:=self.ListView1.Items.Add;
TempItem.Caption:=adoquery1.Fields[0].AsString;
for i:=1 to adoquery1.FieldCount-1 do
begin
TempItem.SubItems.Add(adoquery1.Fields[i].AsString);
end;
adoquery1.Next;
end;


 程序首先通过ListView1.ViewStyle:=vsReport语句设置TListView组件的ViewStyle属性值为vsReport。然后通过第1个循环中的TempColumn:=self.ListView1.Columns.Add和TempColumn.Caption:=Query1.Fields[i].FieldName语句在TListView组件的标题行中显示数据库中字段的名称。最后通过一个循环逐行输出数据库的所有数据。

保存文件,然后按F9键运行程序