数据库更新时字段内容为空时的处理方法?

smctck 2012-07-08 05:10:56
OleDbDataAdapter da_notice = new OleDbDataAdapter("select * from NOTICE_MAIN", con);
OleDbCommandBuilder cb = new OleDbCommandBuilder(da_notice);
DataSet ds = new DataSet();
da_notice.Fill(ds, "NOTICE_MAIN");
DataTable tb = ds.Tables["NOTICE_MAIN"];
tb.PrimaryKey = new DataColumn[] { tb.Columns["MID"] };
DataRow newNOTICE = ds.Tables["NOTICE_MAIN"].NewRow();
newNOTICE["DLJG"] = this.dljg.Text;
newNOTICE["MID"] = 11;
newNOTICE["CGDW"] = this.cgdw.Text;
newNOTICE["ZBFS"] = this.zbfs.Text;
newNOTICE["XMBH"] = this.xmbh.Text;
ds.Tables["NOTICE_MAIN"].Rows.Add(newNOTICE);
da_notice.Update(ds, "NOTICE_MAIN");
这是添加记录的后台代码,如果有一个值是空的就会出错了,如何避免这种情况发生。
...全文
316 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhengdao1314 2012-07-09
  • 打赏
  • 举报
回复
select fieldA,fieldB,fieldC, case when fieldD is null then 0 else fieldD end as fieldD from NOTICE_MAIN
thoughtworker 2012-07-08
  • 打赏
  • 举报
回复
给数据库设默认值。
插入之前做转换。
WeekZero 2012-07-08
  • 打赏
  • 举报
回复
每个赋值前根据类型判断一下,如:

如果是字符:newNOTICE["CGDW"] = string.IsNullOrEmpty(this.cgdw.Text) ? "" : this.cgdw.Text;

如果是整型:newNOTICE["CGDW"] = string.IsNullOrEmpty(this.cgdw.Text) ? "0" : this.cgdw.Text;

yuji821 2012-07-08
  • 打赏
  • 举报
回复
你调试下,是哪个字段一引起的

你那个字段在数据库中设计是什么数据类型,如果是数字类型,那当然会报错

62,073

社区成员

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

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

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

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