问题描述
我用了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这里出错了,但是不知道怎么解决