在用真實資料測試之前寫過的一段**邏輯時,發現了乙個很神奇的錯誤,sql看著沒錯,但是判斷index_value>0的時候明明有4條資料大於零,但是查詢跑出的結果卻是2條,由於資料量太大不好驗證,所以寫了個demo來驗證。
public static void main(string args)
查詢結果為:
+---------+----------+
|indexcode|indexvalue|
+---------+----------+
| f005| 100|
| f005| 5|
+---------+----------+
考慮到可能是型別轉換出現了問題,因此修改**如下:
public static void main(string args)
執行結果為:
+---------+----------+
|indexcode|indexvalue|
+---------+----------+
| f005| 100|
| f005| 0.1|
| f005| 5|
| f005| 0.6|
+---------+----------+
修改**如下:
public static void main(string args)
執行結果為:
+---------+----------+
|indexcode|indexvalue|
+---------+----------+
| f005| 100|
| f005| 0.1|
| f005| 5|
| f005| 0.6|
+---------+----------+
在實際表中查詢時不會出現這樣的問題
具體的原因和機制有待深入的研究
程式設計錯誤記錄(1)
1,在程式裡大小寫有差別,但是編譯器不能報錯。如果一不小心把乙個變數搞混淆了,後果很嚴重。我曾在程式裡定義乙個變數,int k 大寫 使用的時候,又是用的小寫k。導致資料沒有正確讀到。這個小bug找了很久才發現 2,float k 1 5 除錯居然結果為0。float k 1.0 5.0 結果就是正...
簡單的錯誤記錄
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...
模板鍊錶程式中的錯誤記錄
問題 1.const 物件 只能呼叫const 成員函式 bool getelem int count elemtype e declare template define linklist linklist const linklist lc lc is a const object length...