我正在嘗試爲公司員工設置「出席」,如果他們在程序中輸入/輸出。數據庫有一個名稱相同的字段,並使用布爾值來存儲某人是否存在。我相信我的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進行更新嗎? –