还有下面的,我把表的名称放到表里面,然后执行以下操作,
假如某个表不存在,这个时候要转到下一条记录(下一个表)。
但是当我执行下面操作时候,当遇到异常(某个表不存在的
时候),它不会条过去啊。
   Sqy.Open ;
   Sqy.First ;
   if not Sqy.eof then
   begin
     while not Sqy.Eof do
     begin
       try
         ddataqy.Active :=false ;
         ddataqy.SQL.Clear ;
         ddataqy.SQL.Add('delete from '+dtb);
         ddataqy.ExecSQL ;
       except
         sqy.Next ;
       end;
       sqy.next ;
     end;
   end;  

解决方案 »

  1.   

    应该可以,不过可以在试试这个:
     Sqy.Open ;
       Sqy.First ;
       if not Sqy.eof then
       begin
         while not Sqy.Eof do
         begin
           try
           try
             ddataqy.Active :=false ;
             ddataqy.SQL.Clear ;
             ddataqy.SQL.Add('delete from '+dtb);
             ddataqy.ExecSQL ;
           except
           end
           finally
             sqy.Next ;
           end;
         end;
       end;  
      

  2.   

    你可以不要在集成环境重运行,而在外部运行exe试试。
      

  3.   

    var i:integer;
       Sqy.Open ;
       Sqy.First ;
       while not sqy.eof do
       begin
         tb1.append;
         for i:=0 to sqy.fields.count do
         begin
           tb1.fields[i],value :=sqy.fields[i].value ;
         end;
         tb1.post ;  
         sqy.next ;
       end;
    在这个里面如果sqy的某个字段要送到tb1的某个字段的时候出现类型不
    匹配的错误,这个时候sqy想转到下一行而忽视出错的这一行,我该怎么处理
    我这样处理,但不行啊
       Sqy.Open ;
       Sqy.First ;
       while not sqy.eof do
       begin
         tb1.append;
         for i:=0 to sqy.fields.count do
         begin
           try
           tb1.fields[i],value :=sqy.fields[i].value ;
           except
           sqy.next;
           end;
         end;
         tb1.post ;  
         sqy.next ;
       end;