标题:应用程序中的服务器错误。从类型“DBNull”到类型“String”的强制转换无效 ...
只看楼主
yulphoenix
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2005-10-27
 问题点数:0 回复次数:2 
应用程序中的服务器错误。从类型“DBNull”到类型“String”的强制转换无效。

这是我访做的一个留言版,不知道下面这个问题怎么解决,请大家帮帮忙:急啊!
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidCastException: 从类型“DBNull”到类型“String”的强制转换无效。

源错误:


行 56: Dim hobby = "兴趣:" & server.htmlencode(row.item("兴趣"))
行 57: Dim cla = "学历:" & server.htmlencode(row.item("学历"))
行 58: Dim time = "时间:?" & server.htmlencode(row.item("时间"))
行 59: Dim email = server.htmlencode(row.item("电子邮件"))
行 60: email = "电子邮件:<a href='mailto:" & email & "'>" & email & "</a>"

源文件: C:\Inetpub\wwwroot\ComputerTest\hw07-1.aspx.vb 行: 58

堆栈跟踪:


[InvalidCastException: 从类型“DBNull”到类型“String”的强制转换无效。]
Microsoft.VisualBasic.CompilerServices.StringType.FromObject(Object Value)
ComputerTest.hw07_1.temp(DataRow row) in C:\Inetpub\wwwroot\ComputerTest\hw07-1.aspx.vb:58
ComputerTest.hw07_1.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\ComputerTest\hw07-1.aspx.vb:46
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


搜索更多相关主题的帖子: String DBNull 服务器 应用程序 堆栈 
2006-09-27 08:53
yulphoenix
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2005-10-27
得分:0 
我自己找个错误了,我数据库里面的时间字段不是时间日期型,改过来就一切OK拉!
2006-09-27 13:50
deversion
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-10-31
得分:0 
解决方法
的应用开发中,常常要与数据库或数据集打交道,自从NULL的进入,字符串与运算符的关系也将全三角的状态。。。
 
当字段中出现NULL时,直接运算会出现类似以下字符的异常:
运算符对   类型“DBNull”   和   字符串“   ”   无效。  
 
 如:Dim strID As String = _Online.Tables(0).Rows(0).Item("UID")将抛出“从类型“DBNull”到类型“String”的强制转换无效。”的异常。
 
此时,你可能想,在转换之前进行一下NULL检测,使用如下语句。
Dim strID As String
if  not isdbnull(_Online.Tables(0).Rows(0).Item("UID"))  then strID = _Online.Tables(0).Rows(0).Item("UID")
 
可见程序代码又多了不少内容。那么有没有一个更好的方法减少程序代码呢?
 
答案是:有,使用Tostring方法。
Dim strID As String = _Online.Tables(0).Rows(0).Item("UID").ToString
此时,系统不会抛出任何异常,而不论字段内容是不是NULL。
 
顺便说一下,.ToString方法并不公开,在VS设计器中该方法没有自动列出,需要手动输入以上代码。
2008-10-31 13:11



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




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

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