query1.First;
      for n:=0 to query1.RecordCount-1 do
       begin
try
        queryadd.Close;
        queryadd.SQL.Clear;
        if query1.FieldValues['时间']=null then
          queryadd.SQL.Add('insert into infor (信息内容) values('''+query1.FieldValues['信息内容']+''')')
        else
          queryadd.SQL.Add('insert into infor (时间,信息内容) values('''+query1.FieldValues['时间']+''','''+query1.FieldValues['信息内容']+''')');
        //queryadd.Parameters.ParamByName('sj').Value:=query1.FieldValues['时间'];
        //queryadd.Parameters.ParamByName('xx').Value:=query1.FieldValues['信息内容'];
        queryadd.ExecSQL;
except
如果插入错误跳到try的位置
end;
        query1.Next;
       end;

解决方案 »

  1.   

    不好意思,不是跳到try的位置
    是跳到query1.next的下面
      

  2.   

    这样好象不妥, 如果出错了, 在次跳到try的地方 ,又出错,又跳到try处 .......
      程序就走不下去了
      

  3.   

    var
    lable startm;//声明一个标号
    begin
    query1.First;
          for n:=0 to query1.RecordCount-1 do
           begin
    try
    startm:跳转到这里
            queryadd.Close;
            queryadd.SQL.Clear;
            if query1.FieldValues['时间']=null then
              queryadd.SQL.Add('insert into infor (信息内容) values('''+query1.FieldValues['信息内容']+''')')
            else
              queryadd.SQL.Add('insert into infor (时间,信息内容) values('''+query1.FieldValues['时间']+''','''+query1.FieldValues['信息内容']+''')');
            //queryadd.Parameters.ParamByName('sj').Value:=query1.FieldValues['时间'];
            //queryadd.Parameters.ParamByName('xx').Value:=query1.FieldValues['信息内容'];
            queryadd.ExecSQL;
    except
     goto startm;//跳转到startm位置;
    end;
            query1.Next;
           end;
      

  4.   

    知道 如何定义了 
    可是在 goto startm;的时候
    有如下提示
    [Error] update.pas(201): 'GOTO startm' leads into or out of TRY statement
    怎么解决????
    谢谢了