我想从一个表里读出一些数据段写如另外一个表,如何实现,我的代码如下:
query1.close;
            query1.sql.clear;
            query1.sql.add('select * from road where road_id='''+Edit2.Text+'''');
            query1.Open;
            Query1.RequestLive := True;
            if not query1.eof then
              begin
               roadnum:=Query1.fieldbyname('road_num').AsString;
               roadstation:=Query1.fieldbyname('road_station').AsString;
               Query1.Next;
               end;
               try
               query2.close;
               query2.sql.clear;
               query2.sql.add('select * from carpostion');
               query2.Open;
               query2.RequestLive := True;
               if not query2.eof then
                begin
                  query2.RequestLive := True;
                  query2.Edit;
                  query2.fieldbyname('car_num').AsString:=Edit1.text;
                  query2.fieldbyname('road_id').AsString:=Edit2.text;
                  query2.fieldbyname('road_num').AsString:=roadnum;
                  query2.fieldbyname('road_station').AsString:=roadstation;
                  query2.fieldbyname('diao_data').AsString:=DateTimePicker1.Format;
                  Query2.post;
                  messagebox(handle,'成功!','提示',mb_ok);
                end;
               except
                MessageDlg('失败',mtError,[mbok],0);
                Exit;
               end;
我执行的时候没有任何反映,那个carpostion的表内容也没任何变化(起初表是空的)
roadnum 和roadstation是我定义的两个字符类型的变量。
说白了,我就是想从road表中以关键字road_id为标志,调出记录中某些数据写入到carpostion表中。不知道这样写哪儿错了,或者谁能告诉我别的方法!!

解决方案 »

  1.   

    晕啊;你的CARPOSTION表本来就是空的,
    if not query2.eof then
                    begin
    后面的根本就不执行;
      

  2.   

    (起初表是空的)
    那你怎么能用query2.Edit;呢?
    是不是该用append
      

  3.   

    因为query2是空的,而你的条件是query2为空则不会进行插入动作,如此而矣!
      

  4.   

    楼主最好用
    with Query1 do
    beginend;
    with Query2 do
    beginend;
    Query2应当用Insert或用Append;
    此外不能用if not query2.eof then,这样的话执行不了的。
      

  5.   

    那表是空的,我想写入数据,用insert?
    这样以后有了数据,我修改这条数据的时候,那还是用insert这个方法能实现么?
    望指教
      

  6.   

    可以这样啦。。
      if not query1.eof then
        ...你的代码
      else
        ....insert into 语句。