MS Access에 삽입하려고하는데 SQL 구문에서 오류가 발생합니다."SQL 구문"오류로 인해 MS Access에 삽입 할 수 없습니다.
나는 "암호"라는 단어가 키워드라고 생각합니다. 데이터베이스 필드 이름을 변경하지 않고이 문제를 해결할 수있는 방법이 있습니까?
OleDbCommand cmd = new OleDbCommand("INSERT INTO profiles(
user_name, full_name, password, profile_id)
VALUES (@user_name, @full_name, @password, @profile_id);");
cmd.Parameters.AddWithValue("@full_name", this.FullName);
cmd.Parameters.AddWithValue("@user_name", this.UserName);
cmd.Parameters.AddWithValue("@password", this.Password);
cmd.Parameters.AddWithValue("@profile_id", this.ProfileID);
편집 :
지금 해결 한 위의 코드에 오타가 있었다. 원본 코드에는 나타나지 않지만 여기에서 편집 한 후에 나타납니다. 많은 사람들이 지적한 바와 같이, 수정 사항은 대괄호입니다.
단지 오타입니다. 한 장소에는'@ passwords'가 있고 다른 장소에는'@passwords '가 있습니다. 또한 _exact_ 오류 메시지를 게시하면 도움이 될 것입니다. –
"password"는 예약어로 보이지 않습니다. 참고 문헌 : [Access 2007] (https://support.office.com/en-in/article/Access-2007-reserved-words-and-symbols-e33eb3a9-8baa-4335-9f57-da237c63eabe) 이후 버전에서 변경됨), [SQL Server] (http://msdn.microsoft.com/en-us/library/ms189822.aspx) –
'YouAreSalty'는 매개 변수를 추가하는 경우 Insert Statement를 확인했습니다. (들) 일치해야합니다 이것은 아무 생각없는 것입니다 – MethodMan