对象不能从 DBNull 转换为其他类型。下面是相关的3段代码

Default3Bookbook=newBook();//book.BookId=Request.QueryString["BookId"];//添加书籍idbook.B... Default3
Book book = new Book();
//book.BookId = Request.QueryString["BookId"];
//添加书籍id
book.BookId = txtBookId.Text.Trim();
//添加书籍名
book.BookName = txtBookName.Text.Trim();
//添加小说类型
book.Category = CategoryManager.GetCategoryById(Convert.ToInt32(ddlCategory.SelectedValue));
//添加小说介绍
book.Content = txtContent.Text.Trim();
//添加小说的点击率和字数(默认为0)
book.SupportCount = 0;
book.WordCount = 0;
//添加作者
book.Author = AuthorManager.GetAuthorId(Convert.ToInt32(ddlCategory0.SelectedValue));
//将书籍返还到数据库
BookManager.GetAddBook(book);
Response.Write("<script>alert('添加成功')</script>");
Response.Redirect("Default.aspx");
展开
 我来答
刀名阿里噶
2013-11-30 · 超过24用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:20万
展开全部
//book.BookId = Request.QueryString["BookId"];

改为://book.BookId = Request.QueryString["BookId"]==null?"":Request.QueryString["BookId"];
//添加小说类型

book.Category = CategoryManager.GetCategoryById(Convert.ToInt32(ddlCategory.SelectedValue));
改为:book.Category = CategoryManager.GetCategoryById(Convert.ToInt32(ddlCategory.SelectedValue))==null?"":CategoryManager.GetCategoryById(Convert.ToInt32(ddlCategory.SelectedValue));
//添加作者

book.Author = AuthorManager.GetAuthorId(Convert.ToInt32(ddlCategory0.SelectedValue));
改为:
book.Author = AuthorManager.GetAuthorId(Convert.ToInt32(ddlCategory0.SelectedValue))==null?"":
AuthorManager.GetAuthorId(Convert.ToInt32(ddlCategory0.SelectedValue));

第三段代码中(GetBookByID方法),else代码段中的“return null”去掉
追问

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
llyn23
2013-11-30 · TA获得超过5142个赞
知道大有可为答主
回答量:1831
采纳率:50%
帮助的人:1829万
展开全部
你可以先判断从数据库取得的是不是DBNull,然后再转换类型。注意判断是不是DBNull不是用if(xxx==null)而是用if(xxx==System.DbNull.Value)
追问

            cmd.Parameters.AddRange(values);

            if(cmd ==System.DBNull.Value){

            int result = Convert.ToInt32(cmd.ExecuteScalar());

            return result;

追答
不是把cmd和DBNull相比啊,而是book.BookId=(string)reader["BookID"];这样的要先判断,不要强转,如果不是DBNull才转换
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式