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中? 展开
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中? 展开
1个回答
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询