VB.NET参数没有默认值
我创建这段代码是为了将项目作为emp_状态插入表名,问题出在@d3中,当我从组合框中选择项目时,它会给我一个错误,参数@d3没有默认值 这是代码,请给我一个解决方案VB.NET参数没有默认值,vb.net,Vb.net,我创建这段代码是为了将项目作为emp_状态插入表名,问题出在@d3中,当我从组合框中选择项目时,它会给我一个错误,参数@d3没有默认值 这是代码,请给我一个解决方案 Dim sSQL As String = "insert into emp_state(Badge,Name,State,Date_of_Join,Date_of_Termination,Reasons,Information) values (@d1,@d2,@d3,@d4,@d5,@d6,@d7)" Di
Dim sSQL As String = "insert into emp_state(Badge,Name,State,Date_of_Join,Date_of_Termination,Reasons,Information) values (@d1,@d2,@d3,@d4,@d5,@d6,@d7)"
Dim cmd As OleDbCommand = New OleDbCommand(sSQL, cn)
' Badge
Dim Badge As OleDbParameter = New OleDbParameter("@d1", OleDbType.VarWChar, 8)
Badge.Value = TextBox1.Text.ToString()
cmd.Parameters.Add(Badge)
' Name
Dim Name As OleDbParameter = New OleDbParameter("@d2", OleDbType.VarWChar, 50)
Name.Value = TextBox2.Text.ToString()
cmd.Parameters.Add(Name)
' State
ComboBox1.SelectedIndex = 0
Dim State As OleDbParameter = New OleDbParameter("@d3", OleDbType.VarWChar, 20)
ComboBox1.SelectedIndex = ComboBox1.Items.IndexOf("State")
cmd.Parameters.Add(State)
'Date_of_Join
Dim Date_of_Join As OleDbParameter = New OleDbParameter("@d4", OleDbType.Date, 15)
Date_of_Join.Value = dtpDOB.Text.ToString()
cmd.Parameters.Add(Date_of_Join)
'Date_of_Termination
Dim Date_of_Termination As OleDbParameter = New OleDbParameter("@d5", OleDbType.Date, 15)
Date_of_Termination.Value = DateTimePicker1.Text.ToString()
cmd.Parameters.Add(Date_of_Termination)
'Reasons
Dim Reasons As OleDbParameter = New OleDbParameter("@d6", OleDbType.VarWChar, 9999)
Reasons.Value = TextBox3.ToString()
cmd.Parameters.Add(Reasons)
'Information
Dim Information As OleDbParameter = New OleDbParameter("@d7", OleDbType.VarWChar, 9999)
Information.Value = TextBox4.ToString()
cmd.Parameters.Add(Information)
再读一遍这部分
' State
' ComboBox1.SelectedIndex = 0
Dim State As OleDbParameter = New OleDbParameter("@d3", OleDbType.VarWChar, 20)
State.Value = ComboBox1.SelectedItem.Value
cmd.Parameters.Add(State)
是否在组合框1中选择了任何内容?此外,您还可以使用
AddWithValue
-cmd.Parameters.AddWithValue(“@d3”,Combobobox1.Items.IndexOf(“状态”)来缩短代码
当我尝试选择它时,没有选择的项目,直接从项目中给我第一个项目,并且它在DB@d3
中没有更新,不遵循所有其他参数的模式-在一行上所有其他的Dim as OldDbParameter
,然后在下一行上设置该参数的值。Bu您没有为State
参数设置任何值。我在组合框中有四项,分别为辞职、释放、调动和终止,当我尝试选择第二项或第三项时,它不能是唯一的自动为我选择第一项??解决方案是什么?无论您在该组合框中有多少项,如果您正在操作选项是用正确的值设置的。上述选项通常会将正确的值添加到您的参数中。您遇到的问题是,您自己通过执行combobox 1将combobox设置为第一项。SelectedIndex=0状态的access DB中的类型是文本,是否需要更改?不必更改。但是,请确保您的combobox是h作为选项标签(或listItems)的正确值。为了检查,您还应将网页代码/代码张贴在后面
' State
' ComboBox1.SelectedIndex = 0
Dim State As OleDbParameter = New OleDbParameter("@d3", OleDbType.VarWChar, 20)
State.Value = ComboBox1.SelectedItem.Value
cmd.Parameters.Add(State)