Delphi7 :数据库读取到LISTVIEW中的问题

procedureTForm3.FormCreate(Sender:TObject);varTitem:TListitem;Query:TADOQuery;beginQu... procedure TForm3.FormCreate(Sender: TObject);
var
Titem:TListitem;
Query:TADOQuery;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Clear;
Query.SQL.Text:='Select S_Name from supply';
Query.Open;
ListView1.Items.Clear;
while not Query.Eof do
begin
Titem:=ListView1.Items.Add;
Titem.Caption:=Query.FieldByName('S_Name').AsString;
next;
end;
Query.Close;
Query.Destroy;
end;

这样做为什么读不成功呢?CPU用到100% 内存还在一个劲的往上涨。哪个地方出错了?
还有 我在数据库中存了图像的地址,怎么把图像显示在LISTVIEW中?
展开
 我来答
匿名用户
2013-06-30
展开全部
procedure TForm1.FormCreate(Sender: TObject);
var
Titem:TListitem;
Query:TADOQuery;
bf: TBlobField;
begin
Query:=TADOQuery.Create(self);
Query.Connection:=ADOConnection1;
Query.SQL.Clear;
Query.SQL.Text:='Select S_Name from supply';
Query.Open;
ListView1.Items.Clear; Query.First; //------
while not Query.Eof do
begin
Titem:=ListView1.Items.Add;
Titem.Caption:=Query.FieldByName('S_Name').AsString;
next; //由于你没有用With Query Do 这样, 所以你的这句表示的是窗口的Next方法了, 于是进入死循环CPU占用率肯定100%的.// 图片你可以SELECT出来, 然后用TBlobField转换一下类型再SaveToFile或SaveToStream再加以处理就行了, 如 TBlobField(Query.FieldByName('S_Name')).SaveToStream()
end;
Query.Close;
Query.Destroy;
end;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式