DBNull转换成String时出错

sdgqx 2005-01-13 05:21:13
我的语句是这样的:
da1.SelectCommand.CommandText = "select * from bzj_jbxx where dhhm='" + Request.QueryString("dhhm") + "'"
da1.Fill(DataSet21, "bzj_jbxx")
Try
txtDhhm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm")
txtJdm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("jdm")
txtYhmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("yhmc")
txtJmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("jmc")
txtAcc_nbr.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("acc_nbr_97")
txtIdCard.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("id_card")
txtAddr.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("addr")
txtYhzh.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("yhzh")
txtZhmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("zhmc")
txtAmt_f.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("amt_f")
txtZhye.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("zhye")
txtIP.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("ip")
txtPos.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("pos")
txtMark97.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("mark_97")
txtModi_id.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("modi_staff")

Catch ex As Exception
Response.Write(ex.ToString)

错误信息是:
System.InvalidCastException: 从类型“DBNull”到类型“String”的强制转换无效。 at Microsoft.VisualBasic.CompilerServices.StringType.FromObject(Object Value) at test.allinfo.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\test\allinfo.aspx.vb:line 119

应该是空值的转换有问题了
到底应该怎样解决呢?
...全文
318 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjxlovetear 2005-01-13
  • 打赏
  • 举报
回复
直接在sql里加ISNULL(字段名,'')不就得了
henryfan1 2005-01-13
  • 打赏
  • 举报
回复
如果是DBNull值,直接ToString()应该可以了
rickjelly2004 2005-01-13
  • 打赏
  • 举报
回复
说白了
就是每个后面加
txtDhhm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm") & ""

& ""

就不会报错了
rickjelly2004 2005-01-13
  • 打赏
  • 举报
回复
da1.SelectCommand.CommandText = "select * from bzj_jbxx where dhhm='" + Request.QueryString("dhhm") + "'"
da1.Fill(DataSet21, "bzj_jbxx")
Try
txtDhhm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm") & ""
txtJdm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("jdm") & ""
txtYhmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("yhmc") & ""
txtJmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("jmc") & ""
txtAcc_nbr.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("acc_nbr_97")
txtIdCard.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("id_card")
txtAddr.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("addr")
txtYhzh.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("yhzh")
txtZhmc.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("zhmc")
txtAmt_f.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("amt_f")
txtZhye.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("zhye")
txtIP.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("ip")
txtPos.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("pos")
txtMark97.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("mark_97")
txtModi_id.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("modi_staff")

Catch ex As Exception
Response.Write(ex.ToString)
zl13 2005-01-13
  • 打赏
  • 举报
回复
错了,
case TableField when null then '' else TableField end as a
aoyo 2005-01-13
  • 打赏
  • 举报
回复
要判断一下字段内容是否是DBNull.Value,在赋值
zl13 2005-01-13
  • 打赏
  • 举报
回复
Convert.IsDbNull()判断一下是不是dbnull类型,或者在sql语句中,case TableField when null then ''
end as a
JafyLiu 2005-01-13
  • 打赏
  • 举报
回复
加判断
xx = yy==DBNull.Value?"":yy.ToString();
zjf_dl 2005-01-13
  • 打赏
  • 举报
回复
txtDhhm.Text = iif(isdbnull(DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm")),"",DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm"))

62,046

社区成员

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

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

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

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