请问在Delphi中,经过查询后怎样定位到你要进行修改的那个元组,又如何获得这个元组的属性信息呢?都该用哪些组件?
比如,表A(姓名,性别,学号,年龄),表中共有N个元组,通过DELPHI我怎样定位到第n个元组,然后获得它的性别信息呢?

解决方案 »

  1.   

    1.你可以用QUERY组件加一个EDIT组件;可以定义在EDIT中输入你想定位到的元祖一个字段值,比如表A的第N个元祖的"姓名"信息.
    2.在EDIT(比如EDIT1)对应的ONCHANGE事件中写入如下代码(假定上面定义的QUERY为QUERY1,并确定把QUERY1的DATABASENAME属性选择你表在的数据库别名):
     PROCEDURE EDIT1ONCHANGE(.......)
     BEGIN
        with query1 do
           begin
             close;
             sql.clear;
             add('select * from A where A.姓名=:name');
             params.parambyname('name').asstring:=edit1.text;//如果选择其他字段      
             prepare;                                        //比如年龄等非字符型
             open;                                           //注意把EDIT1.TEXT转化
           end;
     END;//在这个时候已经自动选种了你通过"姓名"字段筛选的第N个元祖了,如果你再用一个DBGRID1组件+一个DATASOURCE1组件,设置DATASOURCE1组件的DATASET属性为QUERY1,设置DBGRID组件的DATASOURCE属性为DATASOURCE1,你就可以看到你筛选的那条记录在里面了!     
      
      

  2.   

    回二楼的,我是想获得选定元组的任一属性的信息,比把它赋值给一些变量,比如说在你的代码中通过edit1.text获得元组a,怎样获得元组的别的属性信息呢,比如a的年龄?