使用vbNull将NULL插入sql server数据库表

时间:2013-08-12 13:52:58

标签: sql-server vb.net

我需要根据用户的输入将文字 MALE FEMALE 插入到表格中。

我曾经使用以下代码进行插入,但如果没有选择(男/女),则代码会插入值 1

query = "INSERT INTO student_profile_table(gender) VALUES(@gender)"
cmd = New SqlCommand(query, con)

If rbtmale.Checked = True Then
   cmd.Parameters.AddWithValue("@gender", "Male")
ElseIf rbtfemale.Checked = True Then
   cmd.Parameters.AddWithValue("@gender", "Female")
Else
   cmd.Parameters.AddWithValue("@gender", vbNull)
End If

con.Open()
cmd.ExecuteNonQuery()
con.Close()

需要一些建议/更正

3 个答案:

答案 0 :(得分:7)

我相信您需要System.DbNull.Value而不是vbNull

System.DbNull.Value是SQL Server理解为null的常量。

vbNull旨在表明Variant类型是否为null。

答案 1 :(得分:0)

我在网上搜索但我没有回答。我所做的是如果没有保存图片,我使用了作为默认图片存储的空白图像(全白图像)。希望这会有所帮助。

答案 2 :(得分:0)

我用这种方法解决了这个问题,以设置为NULL值。

 If yourVariable Is Nothing Then
    comm.Parameters.AddWithValue("@detalleDesc", DBNull.Value)
Else
    comm.Parameters.AddWithValue("@detalleDesc", yourVariable )
End If

致谢