在向sqlserver2000写数据时,有时出现'*****附近有语法错误,字符串')'之前有未闭合的引号'
等异常,请问异常的原因是什么?如何处理?对此类异常如何拦截?(用try... except无效!) 
try...except在paradox上有效,为何在sqlserver上无效? 

解决方案 »

  1.   

    从query表全部添加到Table中, sql语句没有问题,总47条记录,增加到18条记录时出错,删除第18条,程序继续执行,到26条又出错,删除,到28,40,总共四条,把四条删除后程序可以执行,但这四条又没有什么特别的,不知何故?
      我做另外一同样程序却没有这个问题出现!
      

  2.   

    可能是你的表结构的问题吧,也就是Paradox表和你的SQL Server表的结构不一样
    另外,你还是把你的程序代码放出来一些吧
      

  3.   

    zdhysvdb.quywfd.Open;
      zdhysvdb.quywfd.First;
      i:=1;
      while not zdhysvdb.quywfd.Eof do
      begin
        if not zdhysvdb.tbywfldls.Locate('ywfld_zhdm',zdhysvdb.quywfdYwfd_hm.AsString+zdhysvdb.quywfdYwfd_tyrxm.AsString+zdhysvdb.quywfdYwfd_shrxm.AsString,[]) then
        begin
          zdhysvdb.tbywfldls.Append;
            zdhysvdb.tbywfldlsYwfld_zhdm.AsString:=zdhysvdb.quywfdYwfd_hm.AsString+zdhysvdb.quywfdYwfd_tyrxm.AsString+zdhysvdb.quywfdYwfd_shrxm.AsString;
          if zdhysvdb.quywfdYwfd_hb1.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_hb1.AsString:=zdhysvdb.quywfdYwfd_hb1.AsString;
          if zdhysvdb.quywfdYwfd_hb2.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_hb2.AsString:=zdhysvdb.quywfdYwfd_hb2.AsString;
            zdhysvdb.tbywfldlsYwfld_no.AsFloat:=i;
          i:=i+1;
          if zdhysvdb.quywfdYwfd_sfz.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_sfz.AsString:=zdhysvdb.quywfdYwfd_sfz.AsString;
          if zdhysvdb.quywfdYwfd_tyrxm.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_tyrxm.AsString:=zdhysvdb.quywfdYwfd_tyrxm.AsString;
          if zdhysvdb.quywfdYwfd_tyrdhhm.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_tyrdh.AsString:=zdhysvdb.quywfdYwfd_tyrdhhm.AsString;
          if zdhysvdb.quywfdYwfd_hxddz.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_hxddz.AsString:=zdhysvdb.quywfdYwfd_hxddz.AsString;
          if zdhysvdb.quywfdYwfd_hm.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_fdhm.AsString:=zdhysvdb.quywfdYwfd_hm.AsString;
          if zdhysvdb.quywfdYwfd_mdz.AsString<>'' then
          zdhysvdb.tbywfldlsYwfld_mdz.AsString:=zdhysvdb.quywfdYwfd_mdz.AsString;
          if zdhysvdb.quywfdYwfd_hwpm.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_pm.AsString:=zdhysvdb.quywfdYwfd_hwpm.AsString;
          if zdhysvdb.quywfdYwfd_tyjs.AsFloat<>0 then
            zdhysvdb.tbywfldlsYwfld_js.AsFloat:=zdhysvdb.quywfdYwfd_tyjs.AsFloat;
          if zdhysvdb.quywfdYwfd_tymz.AsFloat<>0 then
            zdhysvdb.tbywfldlsYwfld_mz.AsFloat:=zdhysvdb.quywfdYwfd_tymz.AsFloat;
          if zdhysvdb.quywfdYwfd_hwbzlb.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_hwbz.AsString:=zdhysvdb.quywfdYwfd_hwbzlb.AsString;
          if zdhysvdb.quywfdYwfd_shrxm.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_shrxm.AsString:=zdhysvdb.quywfdYwfd_shrxm.AsString;
          if zdhysvdb.quywfdYwfd_shrdz.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_shrdz.AsString:=zdhysvdb.quywfdYwfd_shrdz.AsString;
          if zdhysvdb.quywfdYwfd_cyzysx.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_fwfs.AsString:=zdhysvdb.quywfdYwfd_cyzysx.AsString;
          if zdhysvdb.quywfdYwfd_shrdhhm.AsString<>'' then
            zdhysvdb.tbywfldlsYwlfd_shrdh.AsString:=zdhysvdb.quywfdYwfd_shrdhhm.AsString;
            zdhysvdb.tbywfldlsYwfld_xz.AsString:='否';
          if zdhysvdb.quywfdYwfd_dlrjc.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_dldwjc.AsString:=zdhysvdb.quywfdYwfd_dlrjc.AsString;
          if zdhysvdb.quywfdYwfd_jszl.AsFloat<>0 then
            zdhysvdb.tbywfldlsYwfld_hjjhzl.AsFloat:=zdhysvdb.quywfdYwfd_jszl.AsFloat;
          if zdhysvdb.quywfdYwfd_fkfs.AsString<>'' then
            zdhysvdb.tbywfldlsYwfld_fkfs.AsString:=zdhysvdb.quywfdYwfd_fkfs.AsString;
          if zdhysvdb.quywfdYwfd_hyhj.AsString<>'' then
          zdhysvdb.tbywfldlsYwfld_fkze.AsFloat:=zdhysvdb.quywfdYwfd_hyhj.AsFloat;
          zdhysvdb.tbywfldls.Post;
          zdhysvdb.quywfd.Next;
        end;
      end;
      

  4.   

    我完成同样功能的程序也是在同样的SQL中!