对象不能从DBNull的转换为其他类型双数据类型 [英] Object cannot be cast from DBNull to other types for Double Data Type

查看:127
本文介绍了对象不能从DBNull的转换为其他类型双数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到错误的时候有任何细胞数据库空值,对象不能从DBNull的转换为其他类型。
- Asp.net网格视图

 < ASP:的TemplateField ItemStyle-WIDTH =120的HeaderText =差价>
                                     <&ItemTemplate中GT;
&所述;%#PercentageChange(DataBinder.Eval的(的Container.DataItemFirstPrice)的DataBinder.Eval(的Container.DataItemSecondPrice))%GT;                                     < / ItemTemplate中>
                                 < / ASP:的TemplateField>

C#

 保护字符串PercentageChange(对象client_Price,对象second_price)
    {
       双重价格1 = Convert.ToDouble(client_Price);
            双price2 = Convert.ToDouble(second_price);
            双percentagechange =((价格1 - price2)/ price2)* 100;
             返回percentagechange;
}


解决方案

您需要比较如下您 DBNull.Value

 保护字符串PercentageChange(对象client_Price,对象second_price)
{
       如果(client_price == DBNull.Value)
       {
           .....
       }
       //双价格1 = Convert.ToDouble(client_Price);
       //双price2 = Convert.ToDouble(second_price);
       //双percentagechange =((价格1 - price2)/ price2)* 100;
       //返回percentagechange;
 }

I am seeing error when there is null value in database for any cell, Object cannot be cast from DBNull to other types. - Asp.net grid view

<asp:TemplateField ItemStyle-Width="120" HeaderText="Price Difference">
                                     <ItemTemplate>
<%# PercentageChange(DataBinder.Eval(Container.DataItem, "FirstPrice"),DataBinder.Eval(Container.DataItem, "SecondPrice")) %>

                                     </ItemTemplate>
                                 </asp:TemplateField>

C#

protected string PercentageChange(object client_Price, object second_price)
    {
       double price1 = Convert.ToDouble(client_Price);
            double price2 = Convert.ToDouble(second_price);
            double percentagechange = ((price1 - price2) / price2) * 100;
             return percentagechange ;
} 

解决方案

You need to compare you values with DBNull.Value as follow

protected string PercentageChange(object client_Price, object second_price)
{
       if(client_price==DBNull.Value)
       {
           .....
       }
       //double price1 = Convert.ToDouble(client_Price);
       //double price2 = Convert.ToDouble(second_price);
       //double percentagechange = ((price1 - price2) / price2) * 100;
       //return percentagechange ;
 } 

这篇关于对象不能从DBNull的转换为其他类型双数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆