oracle bug? delphi bug? my bug?(200分)

  • 主题发起人 主题发起人 freesoaring
  • 开始时间 开始时间
F

freesoaring

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi对oracle编程中发现的
sql语句中如果出现了group by句子,where中如果使用参数传递必错,郁闷。。。。
具体来说是这样
adoquery1.sql.text:='select "字段1,sum("字段2)'+
' where "字段3"=:s1 '
' group by "字段1 ';
adoquery1.parament.paramentbyname('s1').value:=temp;
类似这样的sql语句执行都会出现相同的报错"not a group by expresstion"
但是如果使用sql server就没问题,好奇怪
对面的大侠救命阿,谢谢 ^-^
 
噢,你得把'select "字段1,sum("字段2)'+
这里的字段1去掉才行
 
adoquery1.sql.text:='select "sum("字段2)'+
' where "字段3"=:s1 '
' group by "字段1 ';
adoquery1.parament.paramentbyname('s1').value:=temp;
这样就可以了,那当然可以用adoquery1['字段1']正常访问的
 
呵呵,要是问题解决了,分全给我吧[8D]
 
没有道理,一定是什么地方弄错了吧
你仔细检查一下你的SQL是不是写错了
这不关传参数的问题。 根据错误信息是你的SQL有错误。
 
原来的 sql语句中可能有冒号不 匹配,只是我的笔误,呵呵
但hunyang的方法好像不行阿
而且字段1我也要select出来的说
 
驱动不兼容的问题,自己构造sql语句,不要用参数。我用参数还有比你更怪的呢。
 
先到oracle的sqlplus环境中去测试一下你所写的sql语句,然后再来分析ADO。
不过据你所说在sql server中没问题的话,那应该是sql语句中有一些sql server支持而
oracle不支持或支持不好的东东。比如说中文字段名、双引号等。
 
多人接受答案了。
 
后退
顶部