`
灵雨飘零
  • 浏览: 36698 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
文章分类
社区版块
存档分类
最新评论

异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型——的解决方法

 
阅读更多

异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。

当从数据库中统计字段值时,有时没有记录就会产生一个DBNull值,在.net应用程序中用null值判断就会出错。

此时要加以判断须要用 :

object o =SqlHelper.ExecuteScalar (connectionString, CommandType.Text, selectString, parms);

if (o!=System .DBNull .Value )

{

val = Convert.ToInt32(o);

}

或者用:

if (!Convert.IsDBNull(o) )

{

val = Convert.ToInt32(o);

}

分享到:
评论

相关推荐

    System.InvalidCastException(解决方案).md

    System.InvalidCastException(解决方案).md

    .NET 中的装箱与拆箱实现过程

    编译时可以通过,但运行时却报如下错误: System.InvalidCastException: 指定的转换无效。 这是因为,当对一个对象进行拆箱时,转型的结果必须是它原来未装箱的类型。此处必须先转换为int类型,才能再转换为double...

    Entity Framework 6以模型方式搭建Sqlite数据库开发环境

    Entity Framework 6以模型方式... Message=无法将类型为“System.Data.SQLite.SQLiteConnection”的对象强制转换为类型“System.Data.Entity.Core.EntityClient.EntityConnection”。 Source=EntityFramework Line=0

    C#中的类型转换 超强悍

    在进行类型转换时,应注意可能抛出的异常,如`System.OverflowException`(当数值超出目标类型范围时)和`System.InvalidCastException`(当类型之间不兼容时)。因此,编写转换代码时要确保转换的安全性,避免不必...

    C#转换——各种转换详解

    标识转换(identity conversion)是最简单的转换形式,它不改变变量的实际类型,如从一个类型为`MyClass`的对象赋值给同类型的另一个变量。 **26.1.2 隐式数值转换** 当一个数值类型的值被转换为范围更大的数值类型...

    C# 数据类型和转换

    - 如果转换不成功,如试图将字符串转换为整数但无法解析,会导致System.InvalidCastException异常。 7. var关键字 - var是隐式类型变量,仅在局部变量中使用,编译器会根据初始值推断类型。 8. 泛型 - 泛型允许...

    .NET课件--第5部分类型管理.ppt

    - `System.InvalidCastException`:类型转换失败时抛出。 - `System.NullReferenceException`:访问未初始化的对象时抛出。 - `System.OutOfMemoryException`:内存分配失败时抛出。 - `System.OverflowException`:...

    .NET-第5部分.ppt

    5. `System.InvalidCastException`:在运行时从一个类型强制转换为不兼容的类型时抛出。 6. `System.NullReferenceException`:当试图使用未初始化的对象时抛出。 7. `System.OutOfMemoryException`:内存分配失败时...

    05 4 类型运算.rar

    两者之间可以进行转换,但需要注意,将引用类型转换为值类型(装箱)会创建一个对象副本,而值类型转换为引用类型(拆箱)需确保对象存在且类型匹配,否则可能导致异常。 2. **子类和基类的转换**: 在面向对象...

    优秀程序员之路——C#_开发经验及技巧大汇总

    - **强制类型转换**:如果转换不合法,则会抛出`System.InvalidCastException`异常。 - **as类型转换**:不会抛出异常,而是返回`null`值。 **示例代码**: ```csharp object obj = "Hello"; string str = (string...

    C#技术内幕笔记!!

    强制类型转换在转换失败时会抛出`System.InvalidCastException`异常,而as类型转换则在失败时返回null。 3. 访问限定符:public表示任何类都可以访问,protected限制为派生类,private仅限本类访问,internal限制在...

    王牌9 优秀程序员之路——C# 开发经验及技巧大汇总

    - **强制类型转换**:如果类型转换不合法,会抛出 `System.InvalidCastException` 异常。 - **as 关键字**:不会抛出异常,而是返回 null。这使得代码更加健壮,因为它可以在类型转换失败时进行错误处理。 #### 5. ...

    类型转换前检查

    然而,不恰当的类型转换可能会导致运行时错误,如`InvalidCastException`或`NullReferenceException`,这些错误会影响程序的稳定性和执行效率。因此,"类型转换前检查"是一个重要的编程实践,它旨在确保转换的安全性...

    C#-类型转换-TypeConversionApplication

    当转换类型不需要额外的处理,且目标类型能容纳源类型的值时,C#会自动执行这种转换。例如,从小整型到大整型,或者从派生类到基类。例如: ```csharp short shortValue = 10; int intValue = shortValue; // ...

    调用时,先判断是否为空,在进行强制类型转换

    这个做法可以防止程序运行时出现NullReferenceException异常,以及确保类型转换过程中不会因为不正确的对象类型而导致的InvalidCastException异常。 首先,我们来详细解释一下每个步骤: 1. **判断是否为空**:在...

    C#异常处理总结及简单实例

    * System.InvalidCastException 因无效类型转换或显示转换引发的异常。 * System.InvalidOperationException 当方法调用对于对象的当前状态无效时引发的异常。 * System.InvalidProgramException 当程序包含无效...

    winform 类型转换源码

    6. **对象到接口的转换**:如果一个类实现了特定接口,你可以将对象转换为该接口类型,以便调用接口定义的方法。例如: ```csharp class MyClass : IMyInterface { // ... } MyClass myClassInstance = new ...

    优秀程序员之路——C# 开发经验及技巧大汇总

    - 当类型转换不合法时,会抛出`System.InvalidCastException`异常。 - 语法简单直接,但可能导致运行时错误。 **as操作符**: - 不会抛出异常,而是返回`null`。 - 更加安全,适用于不确定类型是否兼容的情况。 *...

    arraylist的C#基本实现

    2. 类型安全:由于ArrayList使用object类型,所以在使用时需要进行类型转换,可能引发InvalidCastException。 3. 泛型:ArrayList不是泛型集合,没有强类型检查,而List提供了更好的类型安全和性能。 替代方案:...

Global site tag (gtag.js) - Google Analytics