sql
  • vb.net
  • 2013-04-20 1 views 0 likes 
    0

    그래서 SQL 업데이트 문과 함께 probem이 있습니다. 다음 코드에서 사용자가 로그인을 실행할 때VB 웹 개발자/SQL GETDATE()

    나는 그것을 실행하고 있습니다 :

    Dim UpdateSQL As String 
    UpdateSQL = "UPDATE tblUsers SET LoginDate = GETDATE()" 
    UpdateSQL = UpdateSQL & " WHERE ID = '" & Session("ID") & "'" 
    

    내가 명시 적으로 잘 작동 해당 업데이트에 대한 어떤 기록을 불러 때와 Session("ID") 부분이라고 생각 문제.

    UpdateSQL = UpdateSQL & " WHERE ID = " & Session("ID") 
    

    을하지만 SQL injection의 인식 : 당신의 ID 유형 int이다

    +0

    귀하의 질문은 무엇입니까? – zkanoca

    +0

    첫 번째 : [SQL 삽입 경고] (http://en.wikipedia.org/wiki/SQL_injection) !, 두 번째 : 'ID'가 숫자 데이터 유형이 아닌가요? –

    +0

    ID는 int 유형입니다. 테이블에있는 사용자의 기본 키입니다. – Gek

    답변

    1

    경우 '을 생략한다!

    또한 Session("ID")을 사용하지 않는 것이 좋습니다. 나는 사용자에 로그인하는 동안 ID을 얻는다고 생각한다. 값을 변수에 저장하고이 변수를 세션이 아닌 쿼리에 사용하십시오.

    +0

    새로운 오류가 발생하면 명령을 실행하지 않습니다. myReader.Close() myCmdUp.ExecuteNonQuery() ''= '근처의 구문이 잘못되었습니다. MyConnection.Close() – Gek

    +0

    글쎄, 우리는 첫 번째 오류를 알지조차 모른다. 어떤 메시지도 게시하지 않았다. –

    +0

    죄송합니다. 계속 입력하고 댓글을 게시하십시오. 이 모든 것을 처음 접한 분 :) – Gek

    관련 문제