我有这样一句查询.在sql是可以通过的. selelct spdm,sl,jiage,(jiage/sl) as jj from yyy 但是写到delphi里面就出错.我是这样写的.adoquery1.sql.add('selelct spdm,sl,jiage,(jiage/sl) as jj from yyy ') 请问一下我应该怎么写?
sql.Add('select riqi,qymc,ckmc,zj,zjxs from baobiao');这句可以通过. 如果写成sql.Add('select riqi,qymc,ckmc,zj,zjxs,zjxs/zj as zjjxs from baobiao'); 就服错了
报未定义的错误..用DIV也不行 不知道为什么
是不是被0除了? 改成: select riqi,qymc,ckmc,zj,zjxs,case zj when 0 then 0 else zjxs/zj end as zjjxs from baobiao 试试
嗯.是啊.就是0的问题.但是corn1 我按你的方法写还是报错.
adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('selelct spdm,sl,jiage,(jiage/sl) as jj from yyy '); adoquery1.open; 既然SQL没错,那错的肯定是你的设计,也许是adoquery1设置有问题,纯粹看你那句代码是看不出问题来的
玉米那个写的是对的阿我试了 ADOQuery1.Close; ADOQuery1.SQL.Text := 'select id,case field2 when 0 then 0 else field1/field2 end as jieguo from table3'; ADOQuery1.Open;
ADOQuery1.Close; adoquery1.sql.add('selelct spdm,sl,jiage,[(jiage/sl)] as jj from yyy ') ADOQuery1.Open;
sql.Add('select riqi,qymc,ckmc,zj,zjxs from baobiao'); 这句可以通过. 如果写成 sql.Add('select riqi,qymc,ckmc,zj,zjxs,zjxs/zj as zjjxs from baobiao'); 就服错了 應該是 0 除錯誤,加一個 CASE 判斷下比較好
是手写错误还是?
而且这个()也不能有,否则在查询分析器中就有提示错误: '(' 附近有语法错误。
谁告诉你jiage/sl这个是字段名?两个字段不能除?
有括号会报错?我这儿怎么不会?
如果写成sql.Add('select riqi,qymc,ckmc,zj,zjxs,zjxs/zj as zjjxs from baobiao');
就服错了
不知道为什么
改成:
select riqi,qymc,ckmc,zj,zjxs,case zj when 0 then 0 else zjxs/zj end as zjjxs from baobiao
试试
adoquery1.sql.clear;
adoquery1.sql.add('selelct spdm,sl,jiage,(jiage/sl) as jj from yyy ');
adoquery1.open;
既然SQL没错,那错的肯定是你的设计,也许是adoquery1设置有问题,纯粹看你那句代码是看不出问题来的
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'select id,case field2 when 0 then 0 else field1/field2 end as jieguo from table3';
ADOQuery1.Open;
好像是这句话不能直接写到delphi里面.我把这两个字段全部改为非0了还是报错
是不是我写入的格式有问题?
我的那句sql应该没问题的
是不是其它的地方有问题?
ADOQuery1.Close;
adoquery1.sql.add('selelct spdm,sl,jiage,[(jiage/sl)] as jj from yyy ')
ADOQuery1.Open;
sql.Add('select riqi,qymc,ckmc,zj,zjxs from baobiao'); 这句可以通过.
如果写成 sql.Add('select riqi,qymc,ckmc,zj,zjxs,zjxs/zj as zjjxs from baobiao');
就服错了
應該是 0 除錯誤,加一個 CASE 判斷下比較好
报未定义的错误.不好意思.我因为这边网不好.上一次比较慢.我猜应该是sql语法写入delphi 的错误.