2013-08-20 2 views
0

전달 된 변수를 기반으로 행을 삭제하거나 삽입해야하는 간단한 ASP 페이지가 있습니다. 나는 잘 작동하는 유사한 파일을 가지고 있지만이 파일은 작동하지 않습니다 ... 오류가없고 response.write 검사가 제대로 작동합니다. 나는 심지어 운이없는 리터럴 값을 사용해 보았습니다. 어떤 아이디어? 당신은이 같은 "TID"라는 이름의 변수를 사용하는ASP 클래식 INSERT/DELETE SQL 쿼리 오류가 있지만 작동하지 않음

<% 
dim tid 
dim email 
dim joinOrUnjoin 
tid = UCase(Request.Form("thisID")) 
email = UCase(Request.Form("email")) 
joinOrUnjoin = UCase(Request.Form("joinOrUnjoin")) 

dim objConn 
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.ConnectionString = "Provider=SQLOLEDB;Server=*********;Database=Reports;User Id=**********;Password=***********;" 
objConn.mode = 3 
objConn.Open 

if LCase(joinOrUnjoin) = "join" then 

    strSQL = "INSERT INTO SSOcomEmailDistribution (ID, Email) VALUES ('" & id & "', '" & email & "')" 
    Response.write "Join" 
else 

    strSQL = "DELETE From SSOcomEmailDistribution WHERE ID='" & id & "' AND Email='" & email & "'" 
    Response.write "Unjoin " & id & " " & email 
end if 

objConn.Execute(strSQL) 
objConn.Close() 

Response.write " Done" 
%> 

답변

2

: 여기에 코드입니다

tid = UCase(Request.Form("thisID")) 

하지만 그 다음이 같은 다른 사용자의 SQL 문자열에 "ID"라는 것을 사용합니다 :

어쩌면 오타가 남았습니까?

+2

그리고 Option Explicit을 사용하면 이러한 종류의 실수를 정확히 찾아내는 것이 좋습니다. – John