資料庫負值,Select 過來變正值 |
尚未結案
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
引言:我是很單純的 Select 而已。 並沒有做其他的變更。 我在 SQL Server 裡面看的資料是正確的。 可是在 Delphi 的 Watch 視窗看的值是正 1 Eric LinDon't rely on the debugger too much. I remember long ago when debugging a COM dll, all evaluate/watch gave the wrong values... Try to use ShowMessage to show the actual value.... |
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Deni
一般會員 發表:0 回覆:1 積分:0 註冊:2002-03-14 發送簡訊給我 |
引言: 請問各位: 我是用 MS SQL Server 資料表內有一欄位,type 是用 Decimal 這個資料表有一筆資料,這個欄位值是 -1 可是當我 Select * From 資料表 到 Delphi 的 ADOQuery 中,這個值變成正 1 不是 -1 這是怎麼回事 請大家幫忙 Eric Lin我也有遇到類似的問題 !! 資料欄位 Type 不論是 Decimal or Numeric 只要是精確度是個位數(小於10)那麼用 ADO 去抓取出來的值 只要負數都會變成正數 !! 但是使用 BDE 就沒有此問題了 !! |
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
引言: 可是我環境都是用 ADO 這樣還要用 BDE 有一點麻煩 有沒有其他的辦法 Eric Lin 1.這是 Delphi ADO 元件的 Bug. 它將 decimal(x,0) or numeric(x,0) where w<10 的 datatype 全部視為 longint (4 byte), 事實 Data Size 只有 2 byte,造成如此的錯誤 ! 2.短期的解決方式 : 將 DataBase Column DataType decimal(x,0) or numeric(x,0) where w<10 改用 smallint. 3.總之, 不要用decimal(x,0) or numeric(x,0),改用 tinyint,smallint ,int or bigint./* Free 和 Create 一樣重要 */ 發表人 - Mickey 於 2003/02/21 16:52:44 |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
eric039
中階會員 發表:57 回覆:126 積分:51 註冊:2002-11-30 發送簡訊給我 |
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
引言: 我覺得因為一點 bug 就隨便更改 data type 這不是解決問題的方法,每一種 tools 或多或少多有 bug 所以才會出 patch ,何況不是所有的人都和你一樣有這方面的問題,萬一你更改了 type 又有問題,那你不是要換資料庫了,該自己改的就要改,是 BORLAND 的 BUG 就反應給 BORLAND, 你應該繼續追蹤為何有這種現象,好告訴後面的人萬一也發生了該如何處理,有時候前輩的話不一定是對的,因為最了解環境及狀況是你不是他,請繼續努力,謝謝。1.我的環境 D6 Updaye Pack 2 ; RTL Update Pack 2 或許該 Bug D7 已改正, 請有 D7 之同伴測測看. 2.我確認是 D6 Bug, 因為 : 2.1 Using PHP Script 確認非 OLE DB Provider Driver 問題. 2.2 Trace into ADODB.Pas TCustomADODataSet.GetFieldData function 3.是 BORLAND 的 BUG 就反應給 BORLAND, 我非常認同, 但"短期的解決方式"改 DB DataType 應該沒什麼不對, 因為"長期的解決方式"只有..."等", decimal(9) 與 smallint,我覺得 smallint data type 比較明確. /* Free 和 Create 一樣重要 */ |
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
很抱歉,我只是說 Bug 分為幾種
1. 自己程式的 Bug
2. 開發工具的 Bug
3. 驅動程式的 Bug
4. 資料庫的 Bug 你必須要知道 Bug 是那一種,才好找出應對之策,如這個問題你認定是 DELPHI 的 BUG ,你也作了一些測試,得到的答案是如此。如果 DELPHI 是犯人,你是法官,這樣的答案你覺得心安嗎? 通常為了不冤枉人,我們也必須再三求證,從不同的角度看看也許會有不同的結果。
通常要看到別人的錯誤很容易,但有些是假象,如果不仔細就指責別人的錯誤,萬一真相不是你所認定的,你對的起被你指責的人嗎? 有幾方面我希望你再試看看,也許你認為小題大作,但經過這些求證,那麼不管將來對與錯,你也可坦然面對,作人但求無愧於心,不是嗎? 1. 多測試幾種資料庫。
2. 換幾種不同的工具如 CB , VB , ...。
3. 多種作業系統或不同平台測試。
4. 更換幾種驅動程式。 如果你經過這幾種的測試,你的答案還是不變的話,那麼我認為你可以這樣說,但以你現在所作的測試你就認定這樣的結果,我想對 DELPHI 是不公平的。 如果有一種資料庫,以你先前的測試條件,但並沒有相同的結果出現,我認為你的答案就必須再修正,謝謝。 真誠公平的對待每一個人,每一件事物。 祝福你
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
很抱歉,我只是說 Bug 分為幾種
1. 自己程式的 Bug
2. 開發工具的 Bug
3. 驅動程式的 Bug
4. 資料庫的 Bug 你必須要知道 Bug 是那一種,才好找出應對之策,如這個問題你認定是 DELPHI 的 BUG ,你也作了一些測試,得到的答案是如此。如果 DELPHI 是犯人,你是法官,這樣的答案你覺得心安嗎? 通常為了不冤枉人,我們也必須再三求證,從不同的角度看看也許會有不同的結果。
通常要看到別人的錯誤很容易,但有些是假象,如果不仔細就指責別人的錯誤,萬一真相不是你所認定的,你對的起被你指責的人嗎? 有幾方面我希望你再試看看,也許你認為小題大作,但經過這些求證,那麼不管將來對與錯,你也可坦然面對,作人但求無愧於心,不是嗎? 1. 多測試幾種資料庫。
2. 換幾種不同的工具如 CB , VB , ...。
3. 多種作業系統或不同平台測試。
4. 更換幾種驅動程式。 如果你經過這幾種的測試,你的答案還是不變的話,那麼我認為你可以這樣說,但以你現在所作的測試你就認定這樣的結果,我想對 DELPHI 是不公平的。 如果有一種資料庫,以你先前的測試條件,但並沒有相同的結果出現,我認為你的答案就必須再修正,謝謝。 真誠公平的對待每一個人,每一件事物。 祝福你
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |