C# 对象不能从 DBNull 转换为其他类型怎么解决呀?新手上船

qq_33401683 2019-01-08 08:54:31
private void button1_Click(object sender, EventArgs e)
{
//验证提交
OleDbConnection con = DB.creatOleCon();
con.Open();
OleDbCommand cmd1 = DB.creatOleComd("select * from xtbgznr where 文件编号='" + textBox2.Text + "'", con);
if (!UserInfo.judgeUserid(con, cmd1) || UserInfo.文件编号 == textBox2.Text.Trim())
{
MessageBox.Show("此文件不存在!");
}
else
{
string update = string.Format("update xtbgznr set 工作内容='{0}',文件编号='{1}'where 文件编号='{2}'", richTextBox1.Text, textBox2.Text, UserInfo.文件编号);
OleDbCommand cmd = DB.creatOleComd(update, con);
if (DB.Insert(cmd))
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
}
}
}

查了下应该是xtbgznr . 工作内容未DBNull.value造成的,但是应该怎么解决呀,没看明白度娘的,应该怎么修改呀
...全文
270 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
完全“自学编程”的人可能不知道如何搞开发和调试,其实一个程序员的能力在于看他如何调试,仅看源代码没意义。
  • 打赏
  • 举报
回复
贴出你的调试画面,你是否调试到具体是那一条代码抛出异常?是否在断点使用 vs 调试器调试了具体某个参数?
正怒月神 2019-01-09
  • 打赏
  • 举报
回复
这个错误已经很明显了啊。。。
FainSheeg 2019-01-09
  • 打赏
  • 举报
回复
引用 4 楼 小先生 的回复:
做一个判断
if(update  !=DB.NULL)
{
OleDbCommand cmd = DB.creatOleComd(update, con);
if (DB.Insert(cmd))
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
}
}

一看就是没测试过
DBNULL.Value
PerDign 2019-01-09
  • 打赏
  • 举报
回复
做一个判断
if(update  !=DB.NULL)
{
OleDbCommand cmd = DB.creatOleComd(update, con);
if (DB.Insert(cmd))
{
MessageBox.Show("添加成功!");
}
else
{
MessageBox.Show("添加失败!");
}
}
WaitzoneDon 2019-01-09
  • 打赏
  • 举报
回复
赋值的时候先判断v!=DBNull.Value或在SQL语句处理掉Null值
平底锅锅锅 2019-01-08
  • 打赏
  • 举报
回复
断点监控这个值类型DBNull

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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