我正在尝试为公司员工设置“出席”,如果他们在程序中输入/输出。数据库有一个名称相同的字段,并使用布尔值来存储某人是否存在。我相信我的SQL语句是正确的。我继续得到的问题是:“其他信息:没有给出一个或多个必需参数的值。”SQL参数问题
这里是我使用执行更新查询代码:
Private Sub btnClockout_Click(sender As Object, e As EventArgs) Handles btnClockout.Click
'SelectedEmployee = lstClockin.FocusedItem.Text
'lblClockinStatusColor.BackColor = Color.Red
'btnClockout.Enabled = False
'btnClockin.Enabled = True
'lblClockinStatus.Text = "Employee is: Clocked Out"
'If txtInfoEmployeeID.Text = "" Then
' MsgBox("You need to select a employee to clock-out.", MsgBoxStyle.Exclamation)
'End If
con.ConnectionString = provider & datafile
con.Open()
sqlstatement = ("UPDATE [EmployeeAccounts] SET [Present] = False WHERE [EmployeeID] = '" & SelectedEmployee & "'")
da = New OleDb.OleDbDataAdapter(sqlstatement, con)
da.Fill(ds, "ClockOutButton")
con.Close()
End Sub
我不是VB专家,所以我不会尝试一个答案。但是你应该认识到你当前的查询很容易发生SQL注入。相反,你应该使用参数化查询。 –
@TimBiegeleisen +1,请尝试查看[此问题](http://stackoverflow.com/questions/20845283/vb-net-sql-parameters-update?rq=1)参数化查询。 –
另外,你确定你应该使用新的OldDbDataAdapter进行更新吗? –