table1.append;
table1.fieldbyname('name').asstring:=query1.fieldbyname('name').asstring;
table1.fieldbyname('id').asinteger:=query1.fieldbyname('id').asinteger;
table1.fieldbyname('age').asinteger:=age;
table1.post;

解决方案 »

  1.   

    table1.post是向数据库提交记录的意思
      

  2.   

    输入这断代码后,执行时,它告诉我“guery1 cannot perform this operation
    on a close dataset.本来query1是可以真确执行的。
      

  3.   

    那就用query1,不用table,
    先查询得到:学号:=query1.fieldbyname('id').asinteger;
                年龄:=query1.fieldbyname('name').asstring;
    query1.close;
    query1.sql.text:='insert into student values(:v1,:v2,:v3)';
    query1.parambyname('v1').asinteger:=学号;
    query1.parambyname('v2').asstring:=姓名;
    query1.parambyname('v3').asstring:=年龄;
    query1.execSQL;
    dbgrid1.refresh;差不多了
      

  4.   

    错了,不好意思
    那就用query1,不用table,
    先查询得到:学号:=query1.fieldbyname('id').asinteger;
                姓名:=query1.fieldbyname('name').asstring;
    query1.close;
    query1.sql.text:='insert into student values(:v1,:v2,:v3)';
    query1.parambyname('v1').asinteger:=学号;
    query1.parambyname('v2').asstring:=姓名;
    query1.parambyname('v3').asstring:=变量(age)
    query1.execSQL;
    dbgrid1.refresh;差不多了