“DBNull”到类型“String”的强制转换无效 如何将NULL写入SqlCommand的参数中?

编程入门 行业动态 更新时间:2024-10-10 15:22:17

“DBNull”到类型“String”的强制转换无效  <a href=https://www.elefans.com/category/jswz/34/1771359.html style=如何将NULL写入SqlCommand的参数中?"/>

“DBNull”到类型“String”的强制转换无效 如何将NULL写入SqlCommand的参数中?

从类型“DBNull”到类型“String”的强制转换无效
这是经常会遇到的问题了,有人建议如下:
If Not ds.Tables("file").Rows(0).Item(5).GetType Is System.DBNull.Value.GetType Then
但如果每个字段都进行这样的判断,有点太麻烦了

有人建议直接在select语句中搞掂:select name,isnull(memo,'') as memo from xxx

最后觉得比较好的办法是:
你直接ToString()掉就行了。
TextBox1.Text = ds.Tables(0).Rows(rowNum).Item("E_EDate").ToString();
提示你强制转换无效,你就给它直接转换吧。




   请问:当参数为日期型时,日期为空时,怎么给参数赋值!才能将Null日期写入数据库中!!
   谢谢!!
--------------
re1:
对于任何类型的NULL字段都是:
DBNull.Value;

---------------
re2:
楼上的就可以,也可以你用datetime.minvalue代替。
---------------
re3:
非常感谢!

to eboywy(飞影) :
用DBNull.value解决了存入数据库的问题,但当从dataset中读取数据至textbox时,如果直接写TextBox1.Text = ds.Tables(0).Rows(rowNum).Item("E_EDate"),会提示出错“从类型“DBNull”到类型“string”的强制转换无效。”还要进行一下判断:
If ds.Tables(0).Rows(rowNum).Item("E_EDate") Is DBNull.Value Then
                Else
                    med_EDate.CtlText = .Item("E_EDate") & ""
                End If
请问,有没有更简单的方法!如果每个字段都进行这样的判断,有点太麻烦了


to zhanqiangz(闲云野鹤):
你的赋值方法会出错:“未处理的“System.Reflection.TargetInvocationException”类型的异常出现在 mscorlib.dll 中。
其他信息: 调用的目标发生了异常。”,请问知不知道这个错误是什么意思?

谢谢
---------------
re4:
你直接ToString()掉就行了。
TextBox1.Text = ds.Tables(0).Rows(rowNum).Item("E_EDate").ToString();

提示你强制转换无效,你就给它直接转换吧。

 

更多推荐

“DBNull”到类型“String”的强制转换无效 如何将NULL写入SqlCommand的参数中?

本文发布于:2024-02-14 12:49:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1763759.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:如何将   参数   类型   DBNull   String

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!