adrqQuery := TADOQuery.Create(nil);
I := 0; with adrqQuery do
try
SQL.Clear;
SQL.Text := '....';
Open;
if not IsEmpty then
begin
First;
while not Eof do
begin
tmpItem := lvMainFrm.Items.Add;
tmpItem.SubItems.Add(FieldByName('METERID').AsString);
tmpItem.SubItems.Add(FieldByName('METERTYPE').AsString);
tmpItem.SubItems.Add(FieldByName('USERNAME').AsString);
tmpItem.SubItems.Add(FieldByName('ADDRESS').AsString);
tmpItem.SubItems.Add(FieldByName('TELEPHONE').AsString);
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat));
I := I + 1;
Next;
end;
end;
except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;这段代码是在ListView中显示数据,ListView的ViewStyle是vcReport,上面SQL查找的结果是有数据的,但是不知道为什么上面语句没有出错,执行完界面上却没有什么东西显示?
I := 0; with adrqQuery do
try
SQL.Clear;
SQL.Text := '....';
Open;
if not IsEmpty then
begin
First;
while not Eof do
begin
tmpItem := lvMainFrm.Items.Add;
tmpItem.SubItems.Add(FieldByName('METERID').AsString);
tmpItem.SubItems.Add(FieldByName('METERTYPE').AsString);
tmpItem.SubItems.Add(FieldByName('USERNAME').AsString);
tmpItem.SubItems.Add(FieldByName('ADDRESS').AsString);
tmpItem.SubItems.Add(FieldByName('TELEPHONE').AsString);
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASECOLD').AsFloat));
tmpItem.SubItems.Add(FormatFloat('#0.0', FieldByName('METERBASEHOT').AsFloat));
I := I + 1;
Next;
end;
end;
except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;这段代码是在ListView中显示数据,ListView的ViewStyle是vcReport,上面SQL查找的结果是有数据的,但是不知道为什么上面语句没有出错,执行完界面上却没有什么东西显示?
解决方案 »
- #define _CRT_SECURE_NO_WARNINGS 如何写成delphi代码??
- 关于Indy的多线程。
- DBGrid 控件 密码列 * 号 的问题
- 天啊! 这是怎么回事, 我查询2004-4-2日的记录居然给我查出了2004-4-3的记录,是DELPHI的BUG吗?
- dbgrid刷新问题。。
- Delphi7的xp界面支持?
- 放分最爽了。昨天放分,少写了一个0,支持率低下。
- bookmark
- 怎么样才能用delphi5的SMTP发送要验证身份的邮件?
- CREATE procedure TableExists (@tablename varchar(20))
- DELPHI怎么自动搜索串口啊?
- 动态数组空间释放问题
要对应显示 先添加colomun
本来是空的? 新增一个根节点,貌似跟昨天的问题一样.根节点找不到兄弟节点
是啊,这个问题今天已经第三天了,还没解决完,郁闷死!
主要是有6、7年没用delphi,最近刚要用,很多东西都忘了,时间又紧,所以头痛的很!
tmpItem的caption属性没有设置不行吧
list :TListItem;
i :Integer;
adrqQuery:TADOQuery;
begin
adrqQuery := TADOQuery.Create(nil); with adrqQuery do
try
Close;
Connection:=TADOConnection;{注意此处,不知楼主你的数据库连接组件是什么名,请自行修改}
SQL.Text='.....';
Open;
if Not IsEmpty then
begin
while Not Eof do
begin
if trim(Fields[0].AsString)<>'' then
begin
list :=ListView1.Items.Add;
list.Caption :=Fields[0].AsString;
for i :=1 to Fields.Count-1 do
if Fields.Fields[i].DataType in [ftFloat,ftInteger] then
list.SubItems.Append(FormatFloat('#0.0',Fields[i].AsFloat))
else
list.SubItems.Append(Fields[i].AsString);
end;
Next;
end;
end;
finally
Close;
Free;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
ListItem:TListItem;
begin
try
ListView1.Items.Clear;
with ListView1 do for i:=0 to 10 do begin
ListItem:=Items.Add;
ListItem.Caption:= IntToStr(i);
ListItem.SubItems.Add('第 '+IntToStr(i)+' 行');
ListItem.SubItems.Add('第三列内容');
end; except
on E:Exception do
begin
ShowMessage('读取用户类型数据出错,出错原因是' + #13 + #10 + E.Message);
Exit;
end;
end;
end;procedure TForm1.ListView1Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to ListView1.Items.Count-1 Do
If ListView1.Items[i].Selected then begin
Edit1.Text := listview1.Items[i].Caption; //读第i行第1列
Edit2.Text := listview1.Items[i].SubItems.strings[0]; //读第i行第2列
Edit3.Text := listview1.Items[i].SubItems.strings[1]; //读第i行第3列
end;
end;我这样试了可以了
参考资料:
http://school.cfan.com.cn/pro/delphi/2007-10-22/1193032446d125617.shtml