C# GetOrdinal定位數(shù)據(jù)域
C# GetOrdinal定位數(shù)據(jù)域讀取不同的數(shù)據(jù)類型
dr["stuff"]這個(gè)語(yǔ)句通常能夠返回一個(gè)數(shù)據(jù).但是要返回一個(gè)int或者DateTime對(duì)象的話通常需要進(jìn)行數(shù)據(jù)轉(zhuǎn)換.這通常可以通過(guò)使用ADODataReader許多內(nèi)建轉(zhuǎn)換器中的一個(gè)來(lái)實(shí)現(xiàn).也就是:
- int nOrdinalAge = dr.GetOrdinal( "Age" );
- int nAge = dr.GetInt32( nOrdinalAge );
- DateTime tUpdated = (DateTime)dr["Updated"];
注意C# GetOrdinal定位數(shù)據(jù)域用名字來(lái)讀取數(shù)據(jù)的用法.如果數(shù)據(jù)域是空白的(還沒(méi)有填入任何數(shù)據(jù)),上面的代碼會(huì)拋出一個(gè)異常.要捕捉這種情況,我們可以用IsNull方法檢查是否有數(shù)據(jù)存在,如下所示:
- int nOrdinalAge = dr.GetOrdinal( "Age" );
- if( dr.IsNull( nOrdinalAge ) )
- {
- System.Console.WriteLine( " Age : Not given!" );
- }
- else
- {
- int nAge = dr.GetInt32( nOrdinalAge );
- System.Console.WriteLine( " Age : " + nAge );
- }
【編輯推薦】