專案錯誤列表之三

2021-04-14 02:44:14 字數 1174 閱讀 6225

1.  前幾天的乙個錯誤讓我鬱悶了好一陣子,我往**裡手動修改測試資料(dbms:sql server 2000):資料庫有乙個字段允許為空,我需要將該字段不為空的記錄查出來,由於我的insert語句將""插入資料庫,導致這個欄位為空白,卻不是我所期望的。那麼我寫在查詢語句裡面的,**** is not null,達不到理想效果,於是,我手動往裡面輸入,當時只覺得很彆扭,還沒意識到錯誤。

時間緊,我的**在老大那測試沒有問題(他連的不是我的資料庫),而我也漸漸將這件事情丟到了一邊。一兩天後,新的任務來,需要在前面的基礎上,新增新的功能,結果我匯出查,怎麼都找不出原因為什麼我這邊不該顯示的顯示出來了。我後來將問題定位到這張**上,沒道理啊!所有欄位都為,為什麼乙個都查不出來。找來老大,陳述我的問題,他在我展示**資料的時候,瞄了一眼,搶過滑鼠,在字段上點了兩下,然後問我:「看出毛病沒?」

我搖搖頭,他又點了點其他為的字段,我才發現,當字段為時,滑鼠點上去,會消失,而我輸入的""不會。這時,我才回憶起前幾天的情況——這個字段儲存的值是""而不是null。

「ctrl+0」 這就是讓字段為null的方法。

同樣,還有乙個值得注意的問題是,如果你不小心將換行符,插入了資料庫。c#裡面是"/r/n"轉到sql指令碼中,成了char(13)+char(10)(有興趣的朋友可以試一下,執行這條語句「insert into user(username)  values('a' + char(13) + char(10) + 'b')」),然後,你到預覽**時候,將游標移動到該字段,摁上下方向鍵,就可以看到a與b交替出現了(資料庫得有user(username)表)。

而如果你將換行符接在字串末尾,不注意的話,將始終得不到匹配的效果。

2. 日期格式化:我們經常會碰到這樣乙個問題,資料庫儲存的是datetime物件,即儲存了日期同時儲存了時間,而我們顯示在datagrid時,需要將時間去除,通常的做法是,在繫結時,itemdatabind事件中,將該字段convert.todatatime(),然後再tostring("yyyy-mm-dd"),這樣比較麻煩,你要做兩步,首先要判斷它為非頁首和非頁尾:

if(e.item.itemtype==listitemtype.item||e.item.itemtype==listitemtype.alternatingitem)

而後做上述處理。而控制項已經替我們做了這一步,只需要在控制項中新增乙個屬性即可:

dataformatstring="">

redis列表系列之三

目錄 blpop brpop brpoplpush 1.語法 blpop key key timeout 2.解析 blpop的列表的阻塞式彈出原語。它是lpop命令的阻塞版本,當給定列表內沒有任何元素可供彈出的時候,連線將被blpop命令阻塞,直到等待超時或被發現可彈元素為止。當給定多個key引數...

小型專案總結之三

這個小型專案有點曲折,始於2006年,當時由於沒有總結經驗,所以後來又做了n個類似的專案,鑑於此,記下總結。系統所用硬體規格建議 項 目品 名 規 格 數 量7 1.ibm x 345 server 4 xeon 3.06cpu及以上1 cache 每顆cpu 512kb及以上 2g pc 133m...

專案管理之三點估算

在工作中經常涉及到對進度 或成本等 進行估算,常用的估算方法有專家判斷 模擬估算 引數估算 三點估算 自下而上的估算 儲備分析等,在此介紹一下三點估算,這種估算方法在不確定的情況下可以得到乙個相對準確的估算值。三點估算的概念來自計畫評審技術 program evaluation and review...