SqlQuery = "INSERT INTO GradeTable(Grade,UserID,RegDate)Values('" & TxtGrade.Text.Trim & "','" & UserID & "','" & DTBReg.Value & "'Where GradeTable.StudentID ='" & StudentID & "' and GradeTable.CourseID= '" & CourseID & "') "
답변
당신이하려는 것은 보이는 것처럼 보이며, 작성하는 동안 INSERT가 아니라 UPDATE 문일 것입니다. 이것은 훨씬 더 적절한 쿼리 인 것 같습니다 :
필자는 텍스트 상자의 값이 아닌 매개 변수를 사용합니다. 이것은 SQL 인젝션 (SQL Injection)이라는 가장 일반적인 데이터베이스 보안 결함 중 하나에 취약하기 때문입니다.
쿼리에 대한 텍스트를 사용하여, 다음은 쿼리에이 방법으로 당신의 가치를 추가 할 수 있습니다
cmd.Parameters.AddWithValue("@grade", TxtGrade.Text.Trim);
cmd.Parameters.AddWithValue("@UserID", UserID);
//AND SO ON WITH OTHER PARAMETERS
Assumming cmd를이 당신의 SqlCommand
이와 같은 임의의 쿼리에서 AddWithValue를 사용할 때는주의하십시오. 때로는 데이터 유형이 잘못되어 문제가 발생할 수 있습니다. 명시 적으로 데이터 유형을 정의하는 것이 가장 좋습니다. http://blogs.msmvps.com/jcoehoorn/blog/2014/05/12/can-we-stop-using-addwithvalue-already/ 아직도 나와 +1! –
@SeanLange 당신 말이 맞습니다. OP 테이블 데이터 유형을 모르기 때문에 AddWithValue를 사용했습니다. 좋은 관찰. – NicoRiff
- 1. 키워드 그룹 근처의 구문이 올바르지 않습니다.
- 2. ','근처의 구문이 올바르지 않습니다.
- 3. 키워드 'end'근처의 구문이 올바르지 않습니다.
- 4. System.Data.DataRowViev 근처의 구문이 올바르지 않습니다.
- 5. SQL에서 ':'근처의 구문이 올바르지 않습니다.
- 6. 쉼표 근처의 구문이 올바르지 않습니다.
- 7. '='근처의 구문이 올바르지 않음
- 8. 오류 : (데이터베이스 이름) 근처의 구문이 올바르지 않습니다.
- 9. 오류 : '14'근처의 구문이 올바르지 않습니다.
- 10. INTO OUTFILE 근처의 구문이 올바르지 않습니다.
- 11. SQL에서 '-'근처의 구문이 올바르지 않음
- 12. 키워드 "AS"근처의 구문이 잘못되었습니다.
- 13. SQL Server에서 키워드 'select'근처의 구문이 올바르지 않습니다.
- 14. DBFit jdbc.SQLServerException : 키워드 'as'근처의 구문이 올바르지 않습니다.
- 15. org.hibernate.exception.SQLGrammarException : 쿼리를 실행할 수 없습니다 : 'user'키워드 근처의 구문이 올바르지 않습니다.
- 16. 구문이 올바르지 않습니다.
- 17. 키워드 'with'(SQL) 근처의 구문이 잘못되었습니다.
- 18. 키워드 'where'in update statement 근처의 구문이 잘못되었습니다.
- 19. GO (로그인 기반 사용자 생성) 근처의 구문이 올바르지 않습니다.
- 20. 'current_timestamp'키워드 근처의 구문이 올바르지 않습니다. 단 하나의 데이터베이스에만 해당
- 21. SQL 다중 조인 반환 오류 'JOIN'키워드 근처의 구문이 올바르지 않습니다. '
- 22. SQL 쿼리 - 키워드 'LIKE'근처의 구문이 올바르지 않음
- 23. 스크립트 오류 : SQLCMD : 'with'키워드 근처의 구문이 올바르지 않음
- 24. 테이블 값 함수의 키워드 'IF'근처에 구문이 올바르지 않습니다.
- 25. 오류 발생 "내부 예외 : com.microsoft.sqlserver.jdbc.SQLServerException : 키워드 'User'근처의 구문이 올바르지 않습니다."
- 26. "키워드 'INNER'근처의 구문이 올바르지 않습니다. SQL 서버 오류
- 27. '.'근처의 구문이 잘못되었습니다.
- 28. IF 문 근처의 구문이 잘못되었습니다.
- 29. 이 공용체가 작동하지 못함 - 'select'또는 'as'키워드 근처의 구문이 올바르지 않음
- 30. SQL Server : '='근처의 구문이 잘못되었습니다. 'WHERE'키워드 근처의 구문이 잘못되었습니다.
당신은, 읽어 이해하고 매개 변수 사용을 시작합니다 바비 테이블이 방문하기 전에 쿼리. http://bobby-tables.com/ 이것은 SQL 주입 취약점에 대한 교과서 예제입니다. –
이것은 질문이 아닙니다. 이것은 코드입니다. – HoneyBadger
왜 insert 문에서 where 절을 사용하고 있습니까? – NicoRiff