从“System.DBNull”到“System.Guid”的强制转换无效。

问题描述

我用了NHibernate技术做简易留言薄,数据库字段为ifexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[tbGuestBook]')andOBJECTPROPERTY(id,N'IsUserTable')=1)droptable[dbo].[tbGuestBook]GOCREATETABLE[dbo].[tbGuestBook]([ID][uniqueidentifier]NOTNULL,[UserName][varchar](50)COLLATEChinese_PRC_CI_ASNULL,[PostTime][datetime]NOTNULL,[Message][varchar](400)COLLATEChinese_PRC_CI_ASNULL,[IsReplied][bit]NOTNULL,[Reply][varchar](400)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]GO单击“发表”事件protectedvoidbtn_SendMessage_Click(objectsender,EventArgse){TbGuestBookgb=newTbGuestBook();gb.Id=Guid.NewGuid();gb.UserName=tb_UserName.Text;gb.Message=tb_Message.Text;gb.PostTime=DateTime.Now;gb.IsReplied=false;EntityControlcontrol=newEntityControl("Entity");control.AddEntity(gb);SetBind();}privatevoidSetBind(){EntityControlcontrol=newEntityControl("Entity");IListlist=control.GetEntities("fromGuestBook.TbGuestBook");rpt_Message.DataSource=list;rpt_Message.DataBind();}结果出错:从“System.DBNull”到“System.Guid”的强制转换无效。请问怎样解决?谢谢大家了

解决方案

解决方案二:
那个值从数据库取出来就是NULL,你加上个判断如果为System.DBNull就为空""
解决方案三:
是不是插入没有成功啊`~?数据库里都是null
解决方案四:
能具体针对我给的代码怎么写呢,谢谢
解决方案五:
System.Guid.NewGuid().ToString()
解决方案六:
我调试的时候,ID有值:{4026D389-A7F8-4D1B-9EEE-F9CFAFFAD573},好像是gb.IsReplied=false这里出错了,但是不知道怎么解决

时间: 2024-08-18 19:01:29

从“System.DBNull”到“System.Guid”的强制转换无效。的相关文章

“System.String”到“System.Guid”的强制转换无效。各位路过的请帮忙看看!

问题描述 大家帮我看一下,谢谢.调试后老是出现下面错误:从"System.String"到"System.Guid"的强制转换无效.说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.InvalidCastException:从"System.String"到"System.Guid"的强制转换无效.源错误:行59:publicvo

从具体化“System.Decimal”类型到“System.Int32”类型的指定强制转换无效

问题描述 程序错误信息:System.InvalidOperationException:从具体化"System.Decimal"类型到"System.Int32"类型的指定强制转换无效.在System.Data.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReaderreader,Int32ordinal)在lambda_method(Closur

无法将类型为“System.Windows.Forms.BindingSource”的对象强制转换为类型“System.Data.DataTable”

问题描述 c#无法将类型为"System.Windows.Forms.BindingSource"的对象强制转换为类型"System.Data.DataTable"代码:System.Data.DataTabledataSource=newSystem.Data.DataTable();if(base.DataSourceisDataView){dataSource=((DataView)base.DataSource).ToTable();}else{dataSo

无法将类型为“System.Security.Principal.WindowsPrincipal”的对象强制转换为类型“Business.PhilePrincipal”

问题描述 无法将类型为"System.Security.Principal.WindowsPrincipal"的对象强制转换为类型"Business.PhilePrincipal".说明:执行当前Web请求期间,出现未处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.InvalidCastException:无法将类型为"System.Security.Principal.WindowsPrin

asp.net-System.Web.Mvc.HtmlHelper`1[System.Object]转换为System.Web.Mvc.HtmlHelper

问题描述 System.Web.Mvc.HtmlHelper`1[System.Object]转换为System.Web.Mvc.HtmlHelper 无法将System.Web.Mvc.HtmlHelper`1[System.Object] 的对象强制转换为类型 System.Web.Mvc.HtmlHelper ASP.NET MVC4 下使用DevExpress 开发的第三方控件出错 代码: @{ var grid = Html.DevExpress().GridView(settings

java中System.getenv和System.getProperties有什么区别

System.getenv获取的是系统的环境变量(就是用户在操作系统中设置的环境变量),windows和linux下环境变量的设置就不说了哦. System.getProperties获取的是系统的相关属性.在java api文档中已经列出了如下属性 如果我们要在java程序启动就能获取自定义的系统属性我们可以使用 java –Dname=zhuhui 这样我们就在系统属性中设置了名称为myname值为zhuhui的系统属性,那么就可以通过System.getProperty("name&quo

javase-Java System.out与System.err同时使用时输出乱序

问题描述 Java System.out与System.err同时使用时输出乱序 public class Test { public static void main(String[] args) { for (int i = 0; i < 2; ++i) { System.out.println("normal"); System.err.println("error"); } } } 在IDE下有时运行结果是: normal normal error e

电脑问题-电脑因丢失一部分文件即 system 32/confing/system而不能正常启动系统该怎么办

问题描述 电脑因丢失一部分文件即 system 32/confing/system而不能正常启动系统该怎么办 在使用计算机的过程中,屏幕突然跳出来一个对话框,我想也没想就叉掉了,谁知道后来计算机显示丢失了一些文件,系统不能正常启动了,对了,我的系统是XP的,我希望能保存电脑里的资料,希望各位大神能帮帮我........ 解决方案 判断丢失的文件是哪一个,添加进去,例如,双系统/U盘启动等方式 也或者重装,现在重装系统不是全都会提示备份文件的吗 解决方案二: 用U盘的winPC模式登入系统,修复系

异常详细信息: System.InvalidCastException: 指定的转换无效。

问题描述 "/"应用程序中的服务器错误.--------------------------------------------------------------------------------指定的转换无效.说明:执行当前Web请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息.异常详细信息:System.InvalidCastException:指定的转换无效.源错误:执行当前Web请求期间生成了未经处理的异常.可以使用下面的