亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ASP.NET+SQL SERVER可空類型數(shù)據(jù)的轉(zhuǎn)換研究

        2013-04-29 18:21:58李曉明
        新課程·中旬 2013年9期

        李曉明

        摘 要:就基于ASP.NET連接訪問SQL Server數(shù)據(jù)庫中可空類型數(shù)據(jù)和不可空類型數(shù)據(jù)的闡述。列舉ASP.NET和SQL Server可空類型數(shù)據(jù)的差異及類型轉(zhuǎn)換的方法。對可空類型數(shù)據(jù)轉(zhuǎn)換給出解決方案。

        關(guān)鍵詞:可空類型數(shù)據(jù);Null;類型轉(zhuǎn)換

        ASP.NET是一個(gè)全新和強(qiáng)大的服務(wù)器控件結(jié)構(gòu),ASP.NET環(huán)境中提供ADO.NET的訪問接口,通過它連接SQL Server。兩家軟件公司對可空類型數(shù)據(jù)的定義存在著差異,所以在程序設(shè)計(jì)過程中會(huì)出現(xiàn)類型數(shù)據(jù)轉(zhuǎn)換不符的系統(tǒng)錯(cuò)誤。

        一、可空類型數(shù)據(jù)和不可空類型數(shù)據(jù)

        1.SQL Server中的可空類型數(shù)據(jù)和不可空類型數(shù)據(jù)

        SQL Server數(shù)據(jù)庫中對表結(jié)構(gòu)進(jìn)行定義時(shí),任何一種類型都可以設(shè)置為可空類型或不可空類型。如下圖1所示:

        允許空值選中。這代表著id這個(gè)列名的數(shù)據(jù)類型是可空的,反之,數(shù)據(jù)的類型是不可空的。所以判斷SQL Server中的數(shù)據(jù)類型是可空的只要看允許空選項(xiàng)是否選中。

        2.在ASP.NET中的可空類型數(shù)據(jù)與不可空類型數(shù)據(jù)

        ASP.NET中提供多種編程語言環(huán)境。以C#為例,C#中基本的數(shù)據(jù)類型為值類型和引用類型。C# 2.0以上版本中新增加了可空類型,即包含Null值的值類型。而不可空類型數(shù)據(jù)一般是值類型,如int,boolean,decinal,datetime等。當(dāng)我們最終把數(shù)據(jù)庫表映射到一個(gè)對象時(shí),此時(shí)如datetime等值類型在C#語言中是不能為Null。

        3.Null與"",0的區(qū)別

        “Null”和數(shù)據(jù)空不是同一個(gè)概念。實(shí)際上,Null代表是空值,是“可以讓它是空的”的數(shù)據(jù)值,數(shù)據(jù)空可能是數(shù)字“0”,也有可能是空格數(shù)據(jù)"",它所呈現(xiàn)的值取決于數(shù)據(jù)庫表中的數(shù)據(jù)類型定義,如是整型或其他數(shù)值類型,則數(shù)據(jù)空為默認(rèn)數(shù)字的“0”。但不能輸入Null。如是String字符串類型,默認(rèn)值為Null,可以輸入"",也可能輸入字符0。

        4.可空類型數(shù)據(jù)的實(shí)際應(yīng)用

        C#程序設(shè)計(jì)中,常用到可空類型數(shù)據(jù)與不可空類型數(shù)據(jù)。C#中的其他值類型數(shù)據(jù)都可能在程序運(yùn)行的過程出現(xiàn)“不顯示”或“不設(shè)置”這種情況。這些需通過類型數(shù)據(jù)的轉(zhuǎn)換,符合設(shè)計(jì)和應(yīng)用人員的要求。如何解決值類型也能為可空類型?用什么方法進(jìn)行類型數(shù)據(jù)轉(zhuǎn)換?

        二、可空類型數(shù)據(jù)轉(zhuǎn)換

        1.可空類型數(shù)據(jù)的轉(zhuǎn)換方法

        C#中的不可空類型數(shù)據(jù)如何轉(zhuǎn)換為可空類型數(shù)據(jù)。它的轉(zhuǎn)換格式如下如示:

        int?nullable=null;

        或Nullablenullable=null;

        兩者的表示是等效的。常用第一種方式。

        在類型數(shù)據(jù)定義符后面加上一個(gè)“?”,就可把C#中不可空類型數(shù)據(jù)轉(zhuǎn)換為可空類型類型。

        2.整數(shù)類型的轉(zhuǎn)換

        下面以例1來加強(qiáng)認(rèn)識。

        例1:整數(shù)的互相賦值

        INT I1=5;I1賦值為5

        INT?I2=I1;//可以賦值int賦值給int?

        INT?I3=5;I3賦值為5

        INT I4=I3;//不可以賦值int?賦值給int

        從上面的幾個(gè)賦值可知,可空類型數(shù)據(jù)可以接受同類型的不可空類型的數(shù)據(jù)。不可空類型數(shù)據(jù)不能接受可空類型數(shù)據(jù)。

        3.日期類型數(shù)據(jù)的轉(zhuǎn)換

        C#中WPF窗口拖入一個(gè)按鈕控件和一個(gè)日期控件,并對按鈕進(jìn)行設(shè)計(jì),如圖2所示。

        C#中日期類型dateTime是一個(gè)不可空的類型數(shù)據(jù)。datePicker是WPF是一個(gè)日期選擇控件,其中SelecteDate屬性是一個(gè)可空的類型。要把datePicker控件所選擇的日期數(shù)據(jù)傳遞出去。需要進(jìn)行類型轉(zhuǎn)換??捎靡韵鲁绦虼a解決。

        dateTime?value=datePicker1.Selecteddate;

        同樣的原理,其他的不可空類型數(shù)據(jù)可以通過在類型標(biāo)志前加“?”解決可空類型數(shù)據(jù)的轉(zhuǎn)換。

        4.注意事項(xiàng)

        (1)因?yàn)榭煽疹愋涂赡転榭?,于是很多運(yùn)算法則將不再簡單適用,如A+B,如果A或者B當(dāng)中有一個(gè)或者兩個(gè)為可空類型,那么它們便不能簡單相加,因?yàn)樗鼈兛赡軙?huì)為空,這時(shí)結(jié)果也就可能會(huì)為空,所以一定要了解該數(shù)據(jù)的類型。如果程序編譯出現(xiàn)未能轉(zhuǎn)換類型錯(cuò)誤,則要考慮該數(shù)據(jù)類型是否可為空。

        (2)可空類型可強(qiáng)制轉(zhuǎn)換為對應(yīng)的基礎(chǔ)類型,但在轉(zhuǎn)換之前一定要知道是否不為空,如果為空的話就會(huì)出錯(cuò)。

        (3)不要隨意使用可空類型,使用時(shí)一定要小心,隨時(shí)了解數(shù)據(jù)類型是否為空。

        可空類型允許變量包含未定義的值。使用SQL Server數(shù)據(jù)庫設(shè)計(jì)可使用可空類型。而在C#設(shè)計(jì)環(huán)境中這種限制使得我們在開發(fā)過程中要相當(dāng)小心,要考慮的內(nèi)容較多。通過合理設(shè)置可空類型,或進(jìn)行類型數(shù)據(jù)的轉(zhuǎn)換,把一些潛在的麻煩或錯(cuò)誤消除。

        參考文獻(xiàn):

        [1]吳晨.ASP.NET2.0+SQL Server2005數(shù)據(jù)庫開發(fā)與實(shí)例.清華大學(xué)出版社,2008.

        [2]李春葆,金昌,曾平葆.數(shù)據(jù)庫原理與應(yīng)用:基于SQL Server

        2005.清華大學(xué)出版社,2009.

        (作者單位 廣州市番禺區(qū)職業(yè)技術(shù)學(xué)校)

        ?誗編輯 王志慧

        亚洲中文有码一区二区| 少妇饥渴xxhd麻豆xxhd骆驼| 亚洲一二三区在线观看| 日韩少妇内射免费播放| 中文字幕在线免费| 久久久精品人妻一区二区三区日本 | 国产日产高清一区二区三区| 国产精品久久久久久久久久红粉 | 久久免费看黄a级毛片| 97人人模人人爽人人喊电影| 日韩AV无码一区二区三| 欧美深夜福利视频| 白色白在线观看免费2| 色偷偷888欧美精品久久久 | 国产婷婷色综合av蜜臀av| www插插插无码视频网站| 青青草视频在线播放81| 精品福利一区二区三区蜜桃| 国产性生大片免费观看性| 国产成人九九精品二区三区 | 99久久精品费精品国产一区二| 国产色秀视频在线播放| 亚洲无码夜夜操| 中文字幕亚洲乱码熟女1区2区| 久久在一区二区三区视频免费观看| 狠狠色噜噜狠狠狠777米奇| 性久久久久久久| 国产精品自产拍在线18禁| 国产自拍在线视频观看| 久久久久久人妻无码| 热re99久久精品国产99热| 亚洲AV永久无码精品一区二国 | 亚洲av成人无码网站…| 久青草国产视频| 成年视频网站在线观看777| 网站在线观看视频一区二区| 日本一本免费一二区| 亚洲av无码片在线观看| 久久久99久久久国产自输拍| 国产在线91精品观看| 中文字幕人妻熟女人妻|