全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1135
推到 Plurk!
推到 Facebook!

求助 , 輸入數字後 , 數字 會自動變掉

尚未結案
cheng
一般會員


發表:8
回覆:1
積分:1
註冊:2002-04-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-01-16 23:41:02 IP:61.62.xxx.xxx 未訂閱
請問各位: DELPHI 5.0 / MS-SQL2000 我使用BDE , 但是在輸入 數值欄位時DBEDIT中輸入 188.1 會出現 188.099 輸入 150.1 會出現 150.099 , 輸入 150.6 會出現 150.599 .... 但是 大部份的數值 都正常............. 請問這是什麼原因呢
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-01-17 00:31:26 IP:63.84.xxx.xxx 未訂閱
您好!    當我們在專案中使用BD存取技術時, 由于資料形態的處理機制可能就牽扯到Object Pascal, SQL Links驅動程式和資料庫本身的資料形態轉換, 對于大部分的資料形態并不會發生問題, 但是對于浮點數而言, 有時就會出現如您所述的現象, 當浮點數值存入資料庫時, 就會發生一些變化.    解決的方法, 可以依靠BDE Administator中的ENABLE BCD項目的設定, 維持預設值False將如同上述情況, 浮點數值經過層層轉換而發生精确度改變的結果, 如果將參數值改為True, BDE在處理數值資料時將藉由Binary Coded Decimal(BCD)格式來傳送, 這樣就可以避免出現輸入和存入的資料不一致了.    具體設定方法如下: 1. 開啟BDE Administator中 2. Configuration頁次/Drivers/Native/MSSQL中, 將ENABLE BCD項目設定為True    參考看看!    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
cheng
一般會員


發表:8
回覆:1
積分:1
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-01-17 00:46:20 IP:61.62.xxx.xxx 未訂閱
[quote] 您好! 當我們在專案中使用BD存取技術時, 由于資料形態的處理機制可能就牽扯到Object Pascal, SQL Links驅動程式和資料庫本身的資料形態轉換, 對于大部分的資料形態并不會發生問題, 但是對于浮點數而言, 有時就會出現如您所述的現象, 當浮點數值存入資料庫時, 就會發生一些變化. 解決的方法, 可以依靠BDE Administator中的ENABLE BCD項目的設定, 維持預設值False將如同上述情況, 浮點數值經過層層轉換而發生精确度改變的結果, 如果將參數值改為True, BDE在處理數值資料時將藉由Binary Coded Decimal(BCD)格式來傳送, 這樣就可以避免出現輸入和存入的資料不一致了. 具體設定方法如下: 1. 開啟BDE Administator中 2. Configuration頁次/Drivers/Native/MSSQL中, 將ENABLE BCD項目設定為True 參考看看! =================== 剛剛馬上試了一下 , 真的就好了...................... 真的感謝您的回答 , 因為上線前 都沒發覺 , 上線後 , 問題才一直出來 明天 , 可以做修正了.... 太感謝你了
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-01-17 22:41:24 IP:218.32.xxx.xxx 未訂閱
cheng 你好: 補充一下, ENABLE BCD 設定成 True. 問題可解決, 但是小數點以下精度只剩 4 位喔.
系統時間:2024-06-29 16:49:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!