我在SQL SERVER2000里可以查询,可以DELPHI运行就说“FORM语句有错误”。

时间:2022-11-27 17:39:17
sql1:='select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 from 维修记录 join 基本信息 on 基本信息.企业ID=维修记录.企业ID order by 序号' ;
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add(sql1);
  adoquery1.Open;

select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 from 维修记录 join 基本信息 on 基本信息.企业ID=维修记录.企业ID order by 序号
以上语句我在SQL SERVER2000里可以查询,可以DELPHI运行就说“FORM语句有错误”。

26 个解决方案

#1


select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 
from 维修记录 ,基本信息 
where  基本信息.企业ID=维修记录.企业ID 
order by 序号

可能对join 支持不好
或者对中文支持不好

#2


我数据库以前只有几千。所以用的ASSCESS,现在数据太多(主要是热线电话),所以我将程序改用SQLSERVER2000了。因为是过度时期,我的程序两个都要用。而且我一时疏忽将ASSCESS的数据库给更新成和SERVER一样的结构了(因为在SQL上已经运行很好了)。结果发现在DELPHI+ASSCESS里面不能运行。主要是数据量大。用JOIN速度可以快很多。

楼上的可以在DELPHI下用,就刷新度慢。要好几秒

#3


建议到查询分析器中跑跑你的sql,查询分析器给的错误更明晰

#4


FORM语句有错误????
form语句??

#5


在sql2000中运行的在delphi+sql2000中也能运行!我认为你的逗号或那些.好很可能有问题.把那些逗号什么的在输入法是英文的请下在输一边可能就好了!

#6


我就是在查询分析器中运行了,没有错误,可以得到结果。

然后移植到ACCESS里面的。

“FORM语句有错误”是我在运行SCCESS的时候出现的。

#7


如果说是输入法问题的话,我可是用的是CTRL+C,CTRL+V的。

#8


这条语句到底是在sql2000中有问题还是在access中有问题啊?我也出过一次问题,在sql2000中没问题,而在delphi+sql2000中有问题的事,是我在复制的时候,由于要用到两个表,我加.的时候,是在中文全角字符下加的,所以一直出错,当时晕死了,怎么也不行.最后我输了一边,才知道原因!

#9


说明acess和sqlserver对sql的支持程度不同了,只有改成效果相同能在aceess中跑的了

#10


我在ACCESS+DELPHI6.0出的问题。在SQLSERVER2000中没有问题。

#11


在Access直接执行呢?
如果不行
那么可以说是Access不支持Join

#12


Access好像是不支持Join的

#13


可能是关键字附近没有空格或者 逗号的问题 你 showmessage(sql.text);看一下 就知道了嘛

#14


把showmessage(sql.text);的内容放到查询分析器那边再试试

#15


把你的SQL写出来,一看就知是怎么回事了。

#16


“FORM语句有错误”。 
上面的“FORM”是有错呀

#17


from 才對呀,form寫誤了。是不是就是這個問題呀,如果是這樣還真有點浪費分了。

#18


改join为 left join

#19


顺便问问:

select A.ID,A.xx,A.age,B.name,B.vv 
from A,B 
where  B.ID=:A.ID 
order by ID

where后面的条件要是关系到其中一个字段,如:where B.ID=:A.ID and B.vv>10

则没有数据显示!!!而数据库里是有数据的,而且相关连的ID都有相等的!

请问是什么原因?谢谢指教!!!

#20


sql1:='select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 from 维修记录 join 基本信息 on 基本信息.企业ID=维修记录.企业ID order by 序号' ;


好象没有问题吧。
至于form是后来回帖的时候写错了。

#21


(where B.ID=A.ID) and (B.vv>10)
试一试

#22


arlyn_2004(arlyn) 

"(where B.ID=A.ID) and (B.vv>10)"

是错的吧!!!

#23


哈哈哈哈,肯定是from 写成form 了

#24


where (B.ID=A.ID) and (B.vv>10)"呢?
and 的优先级高

#25


from ...............

#26


估计是空格的问题或者是逗号的原因

#1


select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 
from 维修记录 ,基本信息 
where  基本信息.企业ID=维修记录.企业ID 
order by 序号

可能对join 支持不好
或者对中文支持不好

#2


我数据库以前只有几千。所以用的ASSCESS,现在数据太多(主要是热线电话),所以我将程序改用SQLSERVER2000了。因为是过度时期,我的程序两个都要用。而且我一时疏忽将ASSCESS的数据库给更新成和SERVER一样的结构了(因为在SQL上已经运行很好了)。结果发现在DELPHI+ASSCESS里面不能运行。主要是数据量大。用JOIN速度可以快很多。

楼上的可以在DELPHI下用,就刷新度慢。要好几秒

#3


建议到查询分析器中跑跑你的sql,查询分析器给的错误更明晰

#4


FORM语句有错误????
form语句??

#5


在sql2000中运行的在delphi+sql2000中也能运行!我认为你的逗号或那些.好很可能有问题.把那些逗号什么的在输入法是英文的请下在输一边可能就好了!

#6


我就是在查询分析器中运行了,没有错误,可以得到结果。

然后移植到ACCESS里面的。

“FORM语句有错误”是我在运行SCCESS的时候出现的。

#7


如果说是输入法问题的话,我可是用的是CTRL+C,CTRL+V的。

#8


这条语句到底是在sql2000中有问题还是在access中有问题啊?我也出过一次问题,在sql2000中没问题,而在delphi+sql2000中有问题的事,是我在复制的时候,由于要用到两个表,我加.的时候,是在中文全角字符下加的,所以一直出错,当时晕死了,怎么也不行.最后我输了一边,才知道原因!

#9


说明acess和sqlserver对sql的支持程度不同了,只有改成效果相同能在aceess中跑的了

#10


我在ACCESS+DELPHI6.0出的问题。在SQLSERVER2000中没有问题。

#11


在Access直接执行呢?
如果不行
那么可以说是Access不支持Join

#12


Access好像是不支持Join的

#13


可能是关键字附近没有空格或者 逗号的问题 你 showmessage(sql.text);看一下 就知道了嘛

#14


把showmessage(sql.text);的内容放到查询分析器那边再试试

#15


把你的SQL写出来,一看就知是怎么回事了。

#16


“FORM语句有错误”。 
上面的“FORM”是有错呀

#17


from 才對呀,form寫誤了。是不是就是這個問題呀,如果是這樣還真有點浪費分了。

#18


改join为 left join

#19


顺便问问:

select A.ID,A.xx,A.age,B.name,B.vv 
from A,B 
where  B.ID=:A.ID 
order by ID

where后面的条件要是关系到其中一个字段,如:where B.ID=:A.ID and B.vv>10

则没有数据显示!!!而数据库里是有数据的,而且相关连的ID都有相等的!

请问是什么原因?谢谢指教!!!

#20


sql1:='select 序号,维修记录.企业ID,企业名称,企业地址,企业税号,联系人,企业电话1,故障内容,解决办法,处理结果,维修人,维修日期 from 维修记录 join 基本信息 on 基本信息.企业ID=维修记录.企业ID order by 序号' ;


好象没有问题吧。
至于form是后来回帖的时候写错了。

#21


(where B.ID=A.ID) and (B.vv>10)
试一试

#22


arlyn_2004(arlyn) 

"(where B.ID=A.ID) and (B.vv>10)"

是错的吧!!!

#23


哈哈哈哈,肯定是from 写成form 了

#24


where (B.ID=A.ID) and (B.vv>10)"呢?
and 的优先级高

#25


from ...............

#26


估计是空格的问题或者是逗号的原因