線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2061
推到 Plurk!
推到 Facebook!

BDEClientDataSet SQLOpen時,小數問題

答題得分者是:rovi
熾冰
一般會員


發表:29
回覆:21
積分:10
註冊:2004-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-08 18:42:10 IP:220.130.xxx.xxx 訂閱
我在使用BDEClientDataSet 下SQL時,
如果SQL中含有除法產生的小數,
在程式顯示出來時,小數會不見,剩下整數部份.
例如:select NSN,Mny/Qty Price from PRODUCT
如果Mny/Qty無法整除 ,產生小數時.
在 BDEClientDataSet 上無法正確取得資料.
請問有解決方法嗎?

GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-10 21:10:19 IP:118.167.xxx.xxx 未訂閱
請問取得資料的程式碼是…?


===================引 用 熾冰 文 章===================
我在使用BDEClientDataSet 下SQL時,
如果SQL中含有除法產生的小數,
在程式顯示出來時,小數會不見,剩下整數部份.
例如:select NSN,Mny/QtyPrice from PRODUCT
如果Mny/Qty無法整除 ,產生小數時.
在 BDEClientDataSet 上無法正確取得資料.
請問有解決方法嗎?

熾冰
一般會員


發表:29
回覆:21
積分:10
註冊:2004-01-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-11 09:24:36 IP:220.130.xxx.xxx 訂閱
你好, 我只是做普通的SQLOpen;
沒有寫的程式碼,中介是透過BDE去連結資料庫,
在SQL下除法運算,
Open出來的結果,只剩下整數,小數都不見了.
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-01-11 09:40:38 IP:203.75.xxx.xxx 未訂閱
如果在SQL中使用Round函式,可以帶出小數點嗎?

===================引 用 熾冰 文 章===================

你好, 我只是做普通的SQLOpen;
沒有寫的程式碼,中介是透過BDE去連結資料庫,
在SQL下除法運算,
Open出來的結果,只剩下整數,小數都不見了.
kadee
高階會員


發表:11
回覆:141
積分:165
註冊:2002-03-20

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-01-11 11:00:38 IP:114.35.xxx.xxx 未訂閱
請試試看

我在使用BDEClientDataSet 下SQL時,
如果SQL中含有除法產生的小數,
在程式顯示出來時,小數會不見,剩下整數部份.
例如:select NSN,Mny/QtyPrice from PRODUCT
如果Mny/Qty無法整除 ,產生小數時.
在 BDEClientDataSet 上無法正確取得資料.
請問有解決方法嗎?

------
Kadee/BigRed Ent.
www.tw165.com
熾冰
一般會員


發表:29
回覆:21
積分:10
註冊:2004-01-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-01-11 12:13:30 IP:220.130.xxx.xxx 訂閱
謝謝你們的回答
因為SQL用資料庫工具查詢出來是正常的,
但是透過程式 BDE就會不正確.
所以覺得跟SQL怎麼下應該沒有因果關係.
不過我會試看看.
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2010-01-11 20:00:35 IP:118.167.xxx.xxx 未訂閱
除非是bde認不出該欄位的屬性,才會出現只會出現整數的情況
當然,如果原先該欄位就是整數型別,那就只會出現整數

我測試使用CBDEMOS的Employees.db,沒有出現異常的現象。

以上給你做個參考

或是可以的話,請你說說看你的測試環境及條件。
熾冰
一般會員


發表:29
回覆:21
積分:10
註冊:2004-01-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2010-01-12 09:25:25 IP:220.130.xxx.xxx 訂閱
開發環境:Delphi6
OpenSQL元件: TBDEClientDataSet
中介資料庫聯結: BDE V5.01
資料庫: Oracle,MSSQL
SQL語法: 將兩個數字欄位相除,可產生含有小數的資料即可.

上面提供的兩種方式:
SQL中使用Round函式
跟 *1.00 都試過了.
結果值還是不正確.
編輯記錄
熾冰 重新編輯於 2010-01-12 09:27:10, 註解 無‧
rovi
一般會員


發表:2
回覆:10
積分:12
註冊:2002-05-08

發送簡訊給我
#9 引用回覆 回覆 發表時間:2010-01-14 21:06:17 IP:111.255.xxx.xxx 訂閱
MMMINVDT4020.1672007/07/261277.52007/07/09 下午 12:00:000 442.66672007/07/16 下午 12:00:009852007/07/09 下午 12:00:001277.52007/07/09 下午 12:00:001277.52007/07/09 下午 12:00:0011122
熾冰
一般會員


發表:29
回覆:21
積分:10
註冊:2004-01-12

發送簡訊給我
#10 引用回覆 回覆 發表時間:2010-01-18 09:21:41 IP:220.130.xxx.xxx 訂閱
那有可能是公司架在他上層的處理上出了問題.
謝謝各位的解答
系統時間:2024-04-25 2:33:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!