先判断一下 dr.IsDBNull()
然后再取值
然后再取值
解决方案 »
- 讨论下EntityFramework做WEB开发
- 散分300,分享一个比较巧妙实现主题皮肤功能代码
- 求一URL 重写的正则表达式
- 文件上传问题 属于power users
- 谁能给一个使用MS ajax框架的最简单(必须可以正确运行)的示例?
- VS2005的用户管理系统,默认是SQL Server,怎么改成Access?
- 请教各位大侠:有关.net中跨服务器访问,会话状态保存的问题(急!!!)
- 组织隔离的实现
- 为何总提示“用户代码未处理”的提示呢?谢谢!
- 如何实现在服务器上将多个文件压缩成一个.zip并download在客户端
- 求解:两个日期之间含有几个星期天.
- ---------------------对petshop4.0有研究的....请进!
{
string aa=dr[0].ToString();
}
比如,你数据库中的字段类型为INT,而你用GetString()来取,就会发生System.InvalidCastException的异常。
当初,我看这个函数的提示信息“返回指定字段的字符串值”还以为无论数据库中字段是什么类型,返回的都是字符串类型呢。
Mono中GetString()的实现:
public override string GetString (int i)
{
object value = GetValue (i);
if (!(value is string)) {
if (value is DBNull)
throw new SqlNullValueException ();
throw new InvalidCastException ("Type is " + value.GetType ().ToString ());
}
return (string) value;
}public override object GetValue (int i)
{
if (i < 0 || i >= command.Tds.Columns.Count)
throw new IndexOutOfRangeException (); if ((command.CommandBehavior & CommandBehavior.SequentialAccess) != 0) {
return ((Tds)command.Tds).GetSequentialColumnValue (i);
} return command.Tds.ColumnValues [i];
}
{
.....
}