연결된 데이터 소스/MS Access 데이터베이스와 작동하는 정보 시스템을 개발 중입니다. 문제는 다소 진부하지만 나는 내가 만난 비슷한 것들로부터 적절한 해결책을 찾지 못하는 것 같습니다.OleDB에서 "UPDATE 문에 구문 오류가 있습니다."
여기 내 버튼 코드입니다.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'myConnection.ConnectionString = connString
'myConnection.Open()
If Me.txtConfirmPasscode.Text = Me.txtNewPasscode.Text Then
Dim updateCmd As OleDbCommand = New OleDbCommand("UPDATE Users SET Password = @ConfPasscode WHERE [Usernames] = @UsersID", myConnection)
Dim dr2 As OleDbDataReader = updateCmd.ExecuteReader 'SYNTEX ERROR IN UPDATE STATEMENT
With updateCmd.Parameters
updateCmd.Parameters.AddWithValue("@value", txtUserID.Text)
updateCmd.Parameters.AddWithValue("@firstname", txtConfirmPasscode.Text)
End With
updateCmd.ExecuteNonQuery()
Dim recFound As Boolean = False
Dim UserName As String = ""
While dr2.Read
recFound = True
UserName = dr2("Usernames").ToString
End While
If recFound = True Then
MessageBox.Show("Password changed successfully for " & UserName & ".", "Password Changed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
'updateCmd.Parameters.Add(New OleDbParameter("Password", CType(txtConfirmPasscode.Text, String)))
Else
myConnection.Close()
Me.Refresh()
End If
Else
End If
Try
myConnection.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
는 내가 코드 줄에 도달했을 때 큰
UPDATE
문 구문 오류 :
Dim updateCmd As OleDbCommand = New OleDbCommand("UPDATE Users SET Password = @ConfPasscode WHERE [Usernames] = @UsersID", myConnection)
Dim dr2 As OleDbDataReader = updateCmd.ExecuteReader 'I GET THE SYNTAX ERROR IN UPDATE STATEMENT ERROR HERE!
내가 지나치게 코드를 포맷하지 않고 작동하는 솔루션을 얻을 수 있기를 바랍니다. 위의 코드에서 다른 문제가 발생할 수있는 코드 문법/구문에 대한 솔루션을 얻고 싶습니다.
'Password'는 괄호'[Password]'가 필요합니다. – Bugs
'try ... catch'를 감싸고 예외를 캡처합니까? SQL 서버에서도 업데이트 쿼리를 실행 해 보셨습니까? –