首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么将用户指定的记录的某一字段值传给一个变量

2012-03-20 
如何将用户指定的记录的某一字段值传给一个变量有如下记录多条:姓名年龄性别某某140男某某238女我们可以通

如何将用户指定的记录的某一字段值传给一个变量
有如下记录多条:
姓名               年龄         性别

某某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;
[解决办法]
procedure TForm1.ADOTable1AfterScroll(DataSet: TDataSet);
begin
cid:=adotable1.fieldbyname( 'id ').asinteger;
end;
[解决办法]
哦,上面错了
假如你的record 指针Pinfor//强制转换指针类型

我们可以通过这样的代码:

p:=ListView.Selected.Data ;
cid:=Pinfor(p)^.name;
[解决办法]
type
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;

热点排行