999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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是一個全新和強大的服務(wù)器控件結(jié)構(gòu),ASP.NET環(huán)境中提供ADO.NET的訪問接口,通過它連接SQL Server。兩家軟件公司對可空類型數(shù)據(jù)的定義存在著差異,所以在程序設(shè)計過程中會出現(xiàn)類型數(shù)據(jù)轉(zhuǎn)換不符的系統(tǒng)錯誤。

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

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

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

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

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等。當我們最終把數(shù)據(jù)庫表映射到一個對象時,此時如datetime等值類型在C#語言中是不能為Null。

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

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

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

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

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

下面以例1來加強認識。

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

INT I1=5;I1賦值為5

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

INT?I3=5;I3賦值為5

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

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

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

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

C#中日期類型dateTime是一個不可空的類型數(shù)據(jù)。datePicker是WPF是一個日期選擇控件,其中SelecteDate屬性是一個可空的類型。要把datePicker控件所選擇的日期數(shù)據(jù)傳遞出去。需要進行類型轉(zhuǎn)換。可用以下程序代碼解決。

dateTime?value=datePicker1.Selecteddate;

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

4.注意事項

(1)因為可空類型可能為空,于是很多運算法則將不再簡單適用,如A+B,如果A或者B當中有一個或者兩個為可空類型,那么它們便不能簡單相加,因為它們可能會為空,這時結(jié)果也就可能會為空,所以一定要了解該數(shù)據(jù)的類型。如果程序編譯出現(xiàn)未能轉(zhuǎn)換類型錯誤,則要考慮該數(shù)據(jù)類型是否可為空。

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

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

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

參考文獻:

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

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

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

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

?誗編輯 王志慧

主站蜘蛛池模板: 无码日韩精品91超碰| 国产精品思思热在线| 亚洲日韩Av中文字幕无码 | 欧美自拍另类欧美综合图区| 久久黄色小视频| 97国产一区二区精品久久呦| 无码aⅴ精品一区二区三区| 国产精品2| 九九免费观看全部免费视频| 亚洲永久精品ww47国产| 国产亚洲第一页| 99在线视频免费| 自慰高潮喷白浆在线观看| 丁香六月激情婷婷| 2021国产精品自产拍在线| 欧美成人二区| 伊人查蕉在线观看国产精品| 亚洲成aⅴ人片在线影院八| 人人澡人人爽欧美一区| 久久精品中文无码资源站| 91在线国内在线播放老师| www亚洲天堂| 国内老司机精品视频在线播出| 色偷偷一区二区三区| 人妻中文字幕无码久久一区| 五月婷婷丁香综合| 国产青青草视频| 第一页亚洲| 国产成人1024精品| 免费一级α片在线观看| 99久久无色码中文字幕| 久久一本日韩精品中文字幕屁孩| 国产凹凸视频在线观看| 国产美女主播一级成人毛片| 精品夜恋影院亚洲欧洲| 欧美久久网| 啦啦啦网站在线观看a毛片| 日本在线欧美在线| 强奷白丝美女在线观看| 欧美亚洲中文精品三区| 免费国产高清精品一区在线| 国产网站免费看| 超薄丝袜足j国产在线视频| 国产人免费人成免费视频| 超碰精品无码一区二区| 熟女日韩精品2区| 久久精品亚洲专区| 女人爽到高潮免费视频大全| 免费一级毛片在线播放傲雪网| 91啦中文字幕| 欧美亚洲一区二区三区在线| 99人体免费视频| 国产真实乱了在线播放| 国产麻豆福利av在线播放| 亚洲成人在线网| 九九热视频精品在线| 亚洲第一视频网站| 欧美α片免费观看| 亚洲精品欧美日本中文字幕 | 99热这里只有精品免费| 欧美黄网在线| 92精品国产自产在线观看| 国产第八页| 又爽又大又光又色的午夜视频| 日本妇乱子伦视频| 国产尤物视频在线| 99视频在线免费| 综合亚洲色图| 国产成人精品亚洲77美色| 日本欧美成人免费| 欧美人在线一区二区三区| 女高中生自慰污污网站| 四虎永久免费网站| 亚洲无卡视频| 欧美啪啪一区| 国产原创自拍不卡第一页| 在线亚洲小视频| 国产欧美日韩精品第二区| 国产又大又粗又猛又爽的视频| 青青青草国产| 亚洲精品欧美重口| 久996视频精品免费观看|