c 中處理資料庫中字段值的Null問題

2021-06-17 23:53:28 字數 1090 閱讀 7904

當資料表的字段值允許為空時,若在插入資料時沒提供數值,則值就會預設是null,這個null和空字串('')以及0都不同,null表示「不知道」。

例如:select 1+0的結果是1,而select 1+null的結果是null;

select 'aa'+''的結果是'aa',而select 'aa'+null的結果是null;

c#中直接往資料庫中插入null是不行的,引數化查詢時如果引數的值是null,會提示未提供引數。c#提供了乙個dbnull類,使用dbnull.value來代替null可以解決這個問題。

寫的源**如下:

//資料表test中的name、age欄位設定了允許為空

object name, age;

if (txtname.text.length <= 0)// 判斷是否有輸入姓名

else

if (txtage.text.length <= 0)//判斷是否有輸入年齡

else

int height = convert.toint32(txtheight.text);

string connstr = @"data source=.\sqlexpress;initial catalog=practice;user id=sa;password=381213";

using (sqlconnection conn = new sqlconnection(connstr))

}反過來,從資料庫中將null值讀取出來,也是使用dbnull.value來判斷。

string connstr = @"data source=.\sqlexpress;initial catalog=practice;user id=sa;password=381213";

using (sqlconnection conn = new sqlconnection(connstr))

else

if (row["age"] == dbnull.value)

else

height = (int)row["height"];

messagebox.show("讀取成功,姓名:"+name+",年齡:"+age+",身高:"+height);}}

資料庫中字段的約束

1.主鍵約束 primary key 1 主鍵用於唯一地標識表中的每一條記錄,可以定義一列或多列為主鍵。2 是不可能 或很難 更新 3 主鍵列上沒有任何兩行具有相同值 即重複值 不允許空 null 4 主健可作外健,唯一索引不可 2.唯一性約束 unique 1 唯一性約束用來限制不受主鍵約束的列上...

資料庫中的冗餘字段

在建庫的時候,尤其是複雜的資料庫,難免會出現大量的冗餘字段,出現資料冗餘 資料冗餘 在乙個資料集合中重複的資料稱為資料冗餘.資料冗餘的目的 資料的應用中為了某種目的採取資料冗餘方式。1 重複儲存或傳輸資料以防止資料的丟失。2 對資料進行冗餘性的編碼來防止資料的丟失 錯誤,並提供對錯誤資料進行反變換得...

資料庫中欄位設計與NULL值操作

null值作為資料庫中的乙個特殊操作值,在日常的操作中要尤其留意。如果使用不當,會在某些特定條件下,導致sql執行的結果集有錯誤。但是這種錯誤並非資料庫本身造成的,而是在設計中對null處理不當的造成的。一次在檢查資料庫執行報告時看到了一句sql,和相關的研發人員溝通後知道,其需要的功能是顯示最新時...