标题:对象不能从DBNull转换成其他类型
只看楼主
huanying205
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-6-14
 问题点数:0 回复次数:7 
对象不能从DBNull转换成其他类型
我在新加一条记录的时候在设置数据库记录的语句中提示出这个问题,什么意思呀
搜索更多相关主题的帖子: DBNull 对象 类型 
2007-09-29 11:22
cobby
Rank: 1
等 级:新手上路
威 望:1
帖 子:565
专家分:0
注 册:2007-7-11
得分:0 
你检查下,被添加的记录是否已经确实被赋值。消息可能是说你的那个变量还是空的,是null。检查前面的赋值语句是否确实执行过,检查循环的边界值是否取到

努力成为菜鸟!
2007-09-29 11:31
huanying205
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-6-14
得分:0 

if (e.ColumnIndex == 5)
{
if (Convert.ToInt32(e.Value) > 500)
{
toolBasicDataDataGridView.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Blue;
}
else
{
toolBasicDataDataGridView.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;
}
}
新加时在数据库中出现一条空记录才能再添加记录呀,可是一点添加红色部分就提示不能转为其他类型 难道设置颜色后就只能看 不能增加?

2007-09-29 11:40
smofbao
Rank: 1
等 级:新手上路
帖 子:135
专家分:0
注 册:2006-4-5
得分:0 

你的数据库里是不是没有值呀
Convert.ToInt32(e.Value) > 500
这个第一次时e.value是这列的标题,不是数据行内容,就不能转换了
先做个判断,DataControlRowType.DataRow


2007-09-29 11:53
菜鸟也疯狂
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2007-3-20
得分:0 
增加这个判断试试
if(e.Value!=System.DBNull)
{
//执行转换跟下面的代码
}

2007-09-29 12:06
huanying205
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-6-14
得分:0 
数据库里有数值,而且单纯浏览的时候,满足我设的要求:数值大于500的为蓝色,小于的是红色,
我想知道smofbao说的判断是判断什么的,
菜鸟也疯狂给的判断语句提示出错:System.DBNull是一个“类型”,这在给定的上下文中无效
2007-09-29 12:59
huanying205
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2007-6-14
得分:0 
不用工具栏上的按钮了,自己加了一个botton按钮 在这里写添加的代码,就没事了,就算问题解决了吧!
2007-09-29 13:29
jxnuwy04
Rank: 2
等 级:新手上路
威 望:4
帖 子:768
专家分:0
注 册:2006-9-15
得分:0 
以下是引用huanying205在2007-9-29 12:59:20的发言:
数据库里有数值,而且单纯浏览的时候,满足我设的要求:数值大于500的为蓝色,小于的是红色,
我想知道smofbao说的判断是判断什么的,
菜鸟也疯狂给的判断语句提示出错:System.DBNull是一个“类型”,这在给定的上下文中无效
应该是这样的:if(e.Value!=System.DBNull.Value)

------------------不为别的,就为你,我的理想!-----------------
2007-09-29 13:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-173946-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.244514 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved