还是那个问题,System.InvalidCastException: 对象不能从 DBNull 转换为其他类型

chunsky 2003-11-09 04:41:05
论坛注册出现如上问题?论坛页面为:http://www.chunsky.net/forum/Register.aspx
谁能帮我看看到底是什么问题!!
...全文
1159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chunsky 2003-11-09
  • 打赏
  • 举报
回复
谢谢。试试
  • 打赏
  • 举报
回复
这个问题是不是是你的检测数据库字段是否为空的代码引起的?
假设有个SqlDataReader类型引用data,要检查某个字段是否为空,你是不是用了如下代码:
if(data["字段名"] == System.DBNull)
{
// 字段空代码
}
else
{
// 字段不空代码
}
如果是这样,那么肯定会出现贴主你这样的错误,原因是System.DBNull是一个对象,不是一个值,上面的那个判断代码.net会尝试把System.DBNull转换为string类型,当然会出错。
如果是这个问题,你用下面的判断,保管成功
if(data["字段名"] == System.DBNull.Value)
chunsky 2003-11-09
  • 打赏
  • 举报
回复
谁会,请帮忙!!
chunsky 2003-11-09
  • 打赏
  • 举报
回复
网页能打开呀!
chunsky 2003-11-09
  • 打赏
  • 举报
回复
是保存时出错的,我试了很多次,都出现这种问题!你要是能解决,你给你提供源码
yaotiebing 2003-11-09
  • 打赏
  • 举报
回复
出现未处理的异常 就不好解决了!!你是保存的时候出错的吗??建议重新启动看看
chunsky 2003-11-09
  • 打赏
  • 举报
回复
对象不能从 DBNull 转换为其他类型。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

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

源错误:

执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。

堆栈跟踪:


[InvalidCastException: 对象不能从 DBNull 转换为其他类型。]
System.DBNull.System.IConvertible.ToInt32(IFormatProvider provider) +48
System.Convert.ToInt32(Object value) +36
DotNetForums.Data.SqlDataProvider.CreateNewUser(ForumUser user) +626
DotNetForums.Controls.Register.LoginButton_Click(Object sender, EventArgs e) +299
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1266


yaotiebing 2003-11-09
  • 打赏
  • 举报
回复
应该是读取数据库记录的时候出现的问题 贴出完整的错误代码!!你的网站体是找不到页
chunsky 2003-11-09
  • 打赏
  • 举报
回复
Register.aspx源码是:


<%@ Page Language="C#" ContentType="text/html" trace="false" debug=true%>
<%@ Register TagPrefix="DotNetForums" Namespace="DotNetForums.Controls" Assembly="DotNetForums" %>
<HTML>
<HEAD>
<TITLE> 用户登录 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<LINK href="Forum.css" type="text/css" rel="stylesheet">
</HEAD>

<BODY topmargin=1>
<form method="post" runat="server">
<!-- #include file="inc/header.inc" -->
<DotNetForums:Register id="register1" runat="server"/>
<!-- #include file="inc/footer.inc" -->
</form>
</BODY>
</HTML>

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧