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

Ran*_*ser 4 vb.net sql-server

我需要根据用户的输入将文本MALEFEMALE插入表格中.

我曾经按照以下代码插入,但如果没有(男/女)选择,代码会插入值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()
Run Code Online (Sandbox Code Playgroud)

需要一些建议/更正

Bra*_*Rem 7

我相信你想要System.DbNull.Value而不是vbNull.

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

vbNull 用于指示Variant类型是否为null.