본문 바로가기

Dev/MS-SQL

[MS-SQL] prepared statement 쿼리

반응형
' 일반쿼리 사용시
    SQL = "select * From tblGroupSpecial WHERE category='" & category & "' ORDER BY specialName"
    Set Rs = Server.CreateObject("ADODB.Recordset")
    Rs.Open SQL, dbCon
    If Not(Rs.eof) Then
        Do Until Rs.eof 
            If Rs("specialTitle") = "" Then
                specialMsg = Rs("specialName")
            Else
                specialMsg = Rs("specialTitle")
            End IF
            Rs.movenext
        Loop
    End If
    Rs.close
    Set Rs = Nothing
 
 
    ' prepared statement 쿼리 사용시
    '// 커맨드 객체 생성 및 세팅
    Set objCmd = Server.CreateObject ("ADODB.Command")
    objCmd.ActiveConnection = dbCon        '// 커넥션 객체 연결
    objCmd.CommandType = adCmdText
    objCmd.CommandText = "select * From tblGroupSpecial WHERE category=? ORDER BY specialName"       '// 쿼리 스트링 세팅
 
    '// 파라미터 세팅 (생성)
    objCmd.Parameters.Append(objCmd.CreateParameter("category", adVarchar, adParamInput, Len(category), category))
    Set Rs = objCmd.Execute
    If Not(Rs.eof) Then
        Do Until Rs.eof 
            If Rs("specialTitle") = "" Then
                specialMsg = Rs("specialName")
            Else
                specialMsg = Rs("specialTitle")
            End IF
            Rs.movenext
        Loop
    End If
    Rs.close
    Set Rs = Nothing
 
 
 
    ' LIKE 사용방법
 
    '// 커맨드 객체 생성 및 세팅
    Set objCmd = Server.CreateObject ("ADODB.Command")
    objCmd.ActiveConnection = dbCon        '// 커넥션 객체 연결
    objCmd.CommandType = adCmdText
    objCmd.CommandText = "select * From tblMilitary WHERE militaryName LIKE '%' + ? + '%' ORDER BY militaryName"       '// 쿼리 스트링 세팅
 
    '// 파라미터 세팅 (생성)
    objCmd.Parameters.Append(objCmd.CreateParameter("militaryName", adVarchar, adParamInput, Len(keyword)*2, keyword))
    Set Rs = objCmd.Execute
반응형