有如下记录多条:
姓名 年龄 性别某某1 40 男
某某2 38 女我们可以通过这样的代码: p:=ListView.Selected.Data ;
cid:=p^;将用户选择的记录的记录号传给cid,那怎么样能够让记录的某一字段值传给cid 呢?(如:将姓名或年龄或性别传给cid)
姓名 年龄 性别某某1 40 男
某某2 38 女我们可以通过这样的代码: p:=ListView.Selected.Data ;
cid:=p^;将用户选择的记录的记录号传给cid,那怎么样能够让记录的某一字段值传给cid 呢?(如:将姓名或年龄或性别传给cid)
实际上方法有很多,这样也是一个方法
好象你这个cid是个integer的
比如说我想吧我记录里面的ID传给它你可以这样写
cid:=adotable1.fieldbyname('id').asinteger;
这样就可以了当然要取某个记录还要用上循环判断之类的
也可以用adoquery
adoquery1.close;
adoquery1.sql.add('select * from table where uname='某某1'and 条件2...');
adoquery1.open
这样就找到了一个很确定的值,可能你的表中这样的记录只有一个
那么直接就能取出来
id:=adoquery1.fieldbyname('id').asinteger;
begin
cid:=adotable1.fieldbyname('id').asinteger;
end;
有如下记录多条:
name age sex某某1 40 男
某某2 38 女我们可以通过这样的代码: p:=ListView.Selected.Data ;
cid:=p^.name;
假如你的record 指针Pinfor//强制转换指针类型我们可以通过这样的代码: p:=ListView.Selected.Data ;
cid:=Pinfor(p)^.name;
PPerson=^TPerson;
TPerson=record
Name:string;
Sex:string;
Age:Integer;
end;var
P:PPerson;
begin
New(P);
P^.Name:='张三';
P^.Sex:='人妖';
P^.Age:=100;
ListView.Selected.Data:=P;
ShowMessage(PPerson(ListView.Selected.Data)^.Name) ;
end;