str:='select a.enterpriseid ,a.enterprisename ,b.vrealmoney,b.ovrealmoney,c.vaz,d.vbzjs,e.rvaz,f.vaguerdon,';
    str:=str+' b.srealmoney,b.osrealmoney,c.saz ,d.sbzjs,e.rsaz,f.saguerdon,';
    str:=str+' b.irealmoney,b.oirealmoney,c.eiz,d.lbzjs,e.reiz,f.eiguerdon,b.erealmoney,b.oerealmoney,c.elz,d.ebzjs,e.relz,f.elguerdon';
    str:=str+' from "basicinfo" a,"bili" b,"bzview" c,"Tpzjs" d,"Tbnsd" e,"Tbnjl" f,"correlation" g';
    str:=str+'where a.enterpriseid=b.enterpriseid and a.enterpriseid=c.enterpriseid and a.enterpriseid=d.enterpriseid and a.enterpriseid=e.enterpriseid and a.enterpriseid=f.enterpriseid and a.enterpriseid=g.enterpriseid';

解决方案 »

  1.   

    str:=str+' from "basicinfo" a,"bili" b,"bzview" c,"Tpzjs" d,"Tbnsd" e,"Tbnjl" f,"correlation" g';
        
    改为:
    str:=str+' from basicinfo a,bili b,bzview c,Tpzjs d,Tbnsd e,Tbnjl f,correlation g ';
      

  2.   

    这么长?注意一下了,看一看有没有什么非法字符什么的。最好是用一个MEMO控件把你这个SQL 语句显示一下看对不对!显示结果:
    select a.enterpriseid ,a.enterprisename ,b.vrealmoney,b.ovrealmoney,c.vaz,d.vbzjs,e.rvaz,f.vaguerdon, b.srealmoney,b.osrealmoney,c.saz ,d.sbzjs,e.rsaz,f.saguerdon, b.irealmoney,b.oirealmoney,c.eiz,d.lbzjs,e.reiz,f.eiguerdon,b.erealmoney,b.oerealmoney,c.elz,d.ebzjs,e.relz,f.elguerdon from "basicinfo" a,"bili" b,"bzview" c,"Tpzjs" d,"Tbnsd" e,"Tbnjl" f,"correlation" gwhere a.enterpriseid=b.enterpriseid and a.enterpriseid=c.enterpriseid and a.enterpriseid=d.enterpriseid and a.enterpriseid=e.enterpriseid and a.enterpriseid=f.enterpriseid and a.enterpriseid=g.enterpriseid要不这里改一改:
    str:=str+' from "basicinfo" a,"bili" b,"bzview" c,"Tpzjs" d,"Tbnsd" e,"Tbnjl" f,"correlation" g';
    把所有的""去掉看一看!
      

  3.   

    你用的是SQL 7.0 还是SQL 2000?
      

  4.   

    可以是你使用变量的原因,我在SQL上测了一下你的SQL语句字符数为588
    你使用这种形式试一下:
    将一个Str字符串拆成许多个字符串,最在分段向TQuery控件中添加
    Query1.SQL.Add(Str);
    Query1.SQL.Add(Str1);
    ......
      

  5.   

    我用的是三层结构的,怎样把str分几部分传呢?
      

  6.   

    你看一下是不是你在 "correlation" g'; 之后与Where条件相加的时候中间少个空格
      

  7.   

    你最好在sql语句执行前,ShowMessage(query.sql.text)打出来
    看一下,看看表,子段的名字是不是都写对了。
      

  8.   

    名字都是对的,但现在出现了新问题,说table is read only 但我没有对表修改呀!