将sql 中的print'x'在delphi中show出来 |
尚未結案
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
各位大大,又有事要麻烦各位了: 我有如下sql server的code:
if (select sum(价格)from a公司)>110
print '大于110元'
else
print '小于110元' 在sql中运行正常,但我把它用到delphi中时(如下)就不能显示print部分的提示了,请教该如何修改? adoquery1.close;
adoquery1.sql.clear;
adoquery1.sql.add('if (select sum(价格)from a公司)>110);
adoquery1.sql.add('print ' '''' '大于110元' '''');
adoquery1.sql.add('else');
adoquery1.sql.add('print ' '''' '小于110元' '''');
adoquery1.execsql;
adoquery1.close;
adoquery1.sql.clear; Thank you very much!
|
yachanga
資深會員 發表:24 回覆:335 積分:296 註冊:2003-09-27 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
引言: 想法如下 希望對你有幫助 adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select sum(价格) total from a公司'); adoquery1.open; if adoquery1.fieldbyName('total').asInteger>110 then showmeessage('大於110元') else showmeessage('小於110元'); ~悠遊法國號~实在对不起,我刚才的code 有误,应加上事务功能,再求教各位大大: begin tran update a公司 set 价格=价格*2 if (select sum(价格)from a公司)>110 print '大于110元' else print '小于110元' if @@error>0 rollback tran else commit tran delphi code如下: adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('update a公司'); adoquery1.sql.add('set 价格=价格*2'); adoquery1.sql.add('if (select sum(价格)from a公司)>110); adoquery1.sql.add('print ' '''' '大于110元' ''''); adoquery1.sql.add('else'); adoquery1.sql.add('print ' '''' '小于110元' ''''); adoquery1.sql.add('if @@error>0'); adoquery1.sql.add('rollback tran'); adoquery1.sql.add('else'); adoquery1.sql.add('commit tran'); adoquery1.execsql; |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
HI, 這樣的話, 建議你將 print 改為 select , 做為回傳的結果,
如:
if xx then select 'ok' as result else select 'fail' as result然後在 delphi 的 code 中, 使用 ADOQuery1.Open, 帶回回傳的結果集, 再利用 ADOQuery1.FieldByName('result').AsString 來作判斷! 發表人 - timhuang 於 2004/04/09 18:18:33 |
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
luowy651
高階會員 發表:257 回覆:313 積分:114 註冊:2003-04-09 發送簡訊給我 |
谢谢Mickey兄,姑且把raiserror作为一个加强型的print吧,方法很简单,缺点是前端会除显示内容外,还会显示一个error图标,还有前端该message框上的caption中show出的form名称是Application.title,不能修改,不知有否改变的方法。
timhuang大大的方法也是可行的。只是小弟分数不够了。
再次谢谢以上各位大大的回应,小弟不胜感谢! 發表人 - luowy651 於 2004/04/11 11:04:11 發表人 - luowy651 於 2004/04/11 11:08:03
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |