具有NULL值的Npgsql参数vb.net

我正在运行一个循环添加参数,当我到达一个NULL时,程序会出现。 我的发言如下所示:

mysql = "Insert into TABLE (field1) VALUES (:Col1)"

mycomm = New NpgsqlCommand (mySQL, conn)

myComm.Parameters.Add("Col" & cCnt, NpgsqlTypes.NpgsqlDbType.Double).Value = Obj.value

myComm.ExecuteNonQuery()

这工作正常,如果Obj.value不是空的,但如果Obj.value是什么都没有,我的执行语句失败。 我想只在数据库中插入一个NULL值。 有任何想法吗? 谢谢你的帮助!


要在数据库字段中插入NULL值,需要将DBNull.Value传递给参数

您可以使用VB.NET三元运算符来检查Obj本身是否为Nothing,或者如果Obj.Value不为空,并且在这种情况下(true)传递DBNull.Value而不是Obj.Value

myComm.Parameters.Add("Col" & cCnt, NpgsqlTypes.NpgsqlDbType.Double).Value = 
                      If(Obj Is Nothing OrElse Obj.Value Is Nothing, DBNull.Value, Obj.value))
链接地址: http://www.djcxy.com/p/42855.html

上一篇: Npgsql parameters with NULL value, vb.net

下一篇: How to handle Null column values elegantly