我的语句是这样的:
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("_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 应该是空值的转换有问题了
到底应该怎样解决呢?

解决方案 »

  1.   

    txtDhhm.Text = iif(isdbnull(DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm")),"",DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm"))
      

  2.   

    加判断
    xx = yy==DBNull.Value?"":yy.ToString();
      

  3.   

    Convert.IsDbNull()判断一下是不是dbnull类型,或者在sql语句中,case TableField when null then ''  
    end as a
      

  4.   

    要判断一下字段内容是否是DBNull.Value,在赋值
      

  5.   

    错了,
    case TableField when null then '' else TableField  end as a
      

  6.   

    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("_97")
                txtModi_id.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("modi_staff")        Catch ex As Exception
                Response.Write(ex.ToString)
      

  7.   

    说白了
    就是每个后面加
    txtDhhm.Text = DataSet21.Tables("bzj_jbxx").Rows(0).Item("dhhm") & ""& ""就不会报错了
      

  8.   

    如果是DBNull值,直接ToString()应该可以了
      

  9.   

    直接在sql里加ISNULL(字段名,'')不就得了