国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

.NET和SQL Server中"空值"辨析

2024-07-10 13:01:40
字體:
來源:轉載
供稿:網友
國內最大的酷站演示中心!
初學數據庫編程我們可能會有一些對“空值”的疑問,比如通過編程新建的一個表中所有數據皆顯示為<null>,手動添加并刪除文字后又變成了空白;一個字符串類型的字段,明明沒有填值,卻不等于"";用ado.net從數據庫中取值,每遇到有<null>的就出錯……這需要我們正確認識.net和sql server中幾種不同的“空值”。1、真正的空值,也就是“沒有輸入的值”,可以出現在大多數類型的字段中(如果沒有別的約束條件),sql server中表示為null,顯示為<null>,手工在sql server企業管理器中輸入的方法是按ctrl+0。它在.net中對應system.dbnull.value。在t-sql命令中,判斷一個值是不是空值,要用“is null”而不是“= null”;處理空值有個isnull函數,它使用指定的值替換null。用ado.net從數據庫得到的空值無法自動轉化為空字符串或nothing,須手動檢測:如果得到system.dbnull.value,則賦給數據對象nothing或其它自定義的有意義的值。 2、空字符串(零長度字符串),只出現在字符串類型(如nvarchar)的字段中,sql server中表示為'',顯示為空白,手工在sql server企業管理器中輸入時清空一個單元格即可。它在.net中對應system.string.empty,也就是我們常用的""。在t-sql命令中處理空字符串和處理一般的字符串沒什么區別。用ado.net從數據庫得到的空字符串也和一般的字符串沒什么區別。 相關的概念還有vb.net中的nothing和對應于c#.net中的null(注意這個null是c#.net中的null而非sql server中null),它們在.net中是表示不引用任何對象的空引用的值,在傳入sql server時,根據不同的上下文環境,可能存為真正的空值(比如在更新一個字符串類型的字段值時),也可能調用在sql server中自定義的默認值(比如傳給一個有默認值的存儲過程參數),也可能因為無法進行類型轉換而引發.net異常。因此在用ado.net向sql server中存儲數據時要慎用nothing。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自治县| 秦安县| 鲁甸县| 友谊县| 合阳县| 怀来县| 利辛县| 宜昌市| 德安县| 如东县| 通道| 澄江县| 会泽县| 苍南县| 西青区| 宝兴县| 通化县| 柳江县| 汾阳市| 黄冈市| 申扎县| 鄂尔多斯市| 甘南县| 昭苏县| 高邑县| 通州市| 集贤县| 册亨县| 永修县| 屏山县| 大名县| 额尔古纳市| 怀仁县| 监利县| 泊头市| 阳信县| 赤壁市| 德惠市| 额敏县| 平果县| 余干县|