C# GetOrdinal定位数据域读取不同的数据类型
dr["stuff"]这个语句通常能够返回一个数据.但是要返回一个int或者DateTime对象的话通常需要进行数据转换.这通常可以通过使用ADODataReader许多内建转换器中的一个来实现.也就是:
- int nOrdinalAge = dr.GetOrdinal( "Age" );
- int nAge = dr.GetInt32( nOrdinalAge );
- DateTime tUpdated = (DateTime)dr["Updated"];
注意C# GetOrdinal定位数据域用名字来读取数据的用法.如果数据域是空白的(还没有填入任何数据),上面的代码会抛出一个异常.要捕捉这种情况,我们可以用IsNull方法检查是否有数据存在,如下所示:
- 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 );
- }
【编辑推荐】