Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 参数@gender没有默认值_Vb.net - Fatal编程技术网

Vb.net 参数@gender没有默认值

Vb.net 参数@gender没有默认值,vb.net,Vb.net,向我的OleDbCommand添加参数时出错。错误告诉我@Gender没有默认值 SQL = "INSERT INTO MEMBER ( [RFID], [ID], [FULLNAME], [POSITION], [GENDER]," & _ " [DATEENCODED] )VALUES ( @RFID, @ID, @FULLNAME, @POSITION, @GENDER, @DATEENCODED)" Dim cmd As New OleDb.OleDbComman

向我的
OleDbCommand
添加参数时出错。错误告诉我
@Gender
没有默认值

SQL = "INSERT INTO MEMBER ( [RFID], [ID], [FULLNAME], [POSITION], [GENDER]," & _
      " [DATEENCODED] )VALUES ( @RFID, @ID, @FULLNAME, @POSITION, @GENDER, @DATEENCODED)"


Dim cmd As New OleDb.OleDbCommand(SQL, conn)
cmd.Parameters.Add(New OleDb.OleDbParameter("@RFID", Form3.txtrfid.Text))
cmd.Parameters.Add(New OleDb.OleDbParameter("@ID", Form3.txtid.Text))
cmd.Parameters.Add(New OleDb.OleDbParameter("@FULLNAME", a))
cmd.Parameters.Add(New OleDb.OleDbParameter("@POSITION", Form3.txtpost.Text))
cmd.Parameters.Add(New OleDb.OleDbParameter("@GENDER", Form3.cbogen.SelectedItem))
cmd.Parameters.Add(New OleDb.OleDbParameter("@DATEENCODED", b))

在设计时,将组合框的DropDownStyle属性设置为DropDownList使用数据源,而不是在设计时向集合中添加项或在运行时添加项或项.add或项.AddRange

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Dim G() As String = {"Male", "Female", "Other"}
    ComboBox1.DataSource = G
    MessageBox.Show(ComboBox1.SelectedItem.ToString)
End Sub

您是否确实检查了执行代码时
Form3.cbogen.SelectedItem
的值?如果这就是您分配给该参数的内容,并且您被告知该参数没有值,那么您应该怀疑该表达式可能没有值。我应该做什么似乎您正在使用类Form3的默认实例。如果是,则该实例中的cbogen可能没有SelectedItem属性的值。如果需要了解默认实例,请开始。不要大叫。所有的首都都在呼喊。:-)这与问题无关,但微软建议“将数组指示符放在类型上,而不是变量上”,即
Dim G As String()={“男性”、“女性”、“其他”}
。“我肯定我也多次忘记了往哪个方向走了。”安德烈·莫尔顿感谢您提供了有关数组指示符的提示。至于这个问题,这应该保证
Form3.cbogen.SelectedItem.ToString
有一个值。最好使用“未知”作为第一个要对齐的值,否则如果用户没有选择值,它将保证为“男性”。@AndrewMorton再次感谢您。我在facebook的某个地方看到了一份真正政治正确的名单,这份名单很长,也很复杂。我不知道有一个合适的方式来列出性别。我想如果我是为别致的菲力牛排编码,我的列表还是可以接受的。:-)