WEB개발

ASP에서 프로시저 실행시! Command.Parameters.Refresh !!!

스쿠터로세계일주 2012. 6. 28. 20:28

보통 ASP에서 프로시저를 실행하면 아래와 같은 모습으로 실행한다..

 

하지만 아래와 같은 방법에 문제점은....반복되는 코딩이 너무 많고 귀찮다는것!!!

 

무엇보다  Parameters.Append .CreateParameter 부분이 손이가고 반복작업의 갑이다!

 

그래서 이부분이라도 좀 편하게 할 수 없을까..하고 찾던중 함수도 찾아보고 뭐해보고 했는데..

 

답은 간단한데 있었다..원래 기능이 있었던 것이다..ㅡㅡ;;

 

Command.Parameters.Refresh

 

아래와 같이 CreateParameter 부분을 다 주석처리해도 커넥션이 매우 잘된다..ㅠㅡㅜ

 

이 명령은 내가 ASP단에서 파라미터의 속성을 정의해주지 않아도, 프로시저에서 직접 파라미터의 속성을

 

읽어서 설정해주는 것이다.

 

때문에 아래에서 파라미너에 값만 넣어줘도 프로시저가 돌아가는 것이다...아....하악하악 ;;;

 

 

 Dim objCmd
       Set objCmd = Server.CreateObject("ADODB.Command")

       with objCmd
              .ActiveConnection = conn
              .CommandText = "USP_INORDER_REPORT"
              .CommandType = adCmdStoredProc
              .Parameters.Refresh

'              .Parameters.Append .CreateParameter("@mode"  ,advarwchar,adParamInput,20)
'              .Parameters.Append .CreateParameter("@idx"  ,advarwchar,adParamInput,20)
'              .Parameters.Append .CreateParameter("@sday"  ,advarwchar,adParamInput,20)
'              .Parameters.Append .CreateParameter("@eday"  ,advarwchar,adParamInput,20)
'              .Parameters.Append .CreateParameter("@OP_STATUS" ,advarwchar,adParamInput,20)
 '             .Parameters.Append .CreateParameter("@SRC_CATE" ,advarwchar,adParamInput,20)
  '            .Parameters.Append .CreateParameter("@BUSID"  ,advarwchar,adParamInput,20)
  '            .Parameters.Append .CreateParameter("@OCCID"  ,advarwchar,adParamInput,20)
  '            .Parameters.Append .CreateParameter("@KEYWORD" ,advarwchar,adParamInput,20)
  '            .Parameters.Append .CreateParameter("@t_abro"  ,advarwchar,adParamInput,15)
  '            .Parameters.Append .CreateParameter("@OP_COMMENT" ,advarwchar,adParamInput,50)
  '            .Parameters.Append .CreateParameter("@page"  ,advarwchar,adParamInput,15)
  '            .Parameters.Append .CreateParameter("@paging"  ,advarwchar,adParamInput,15)
   '           .Parameters.Append .CreateParameter("@orderby" ,advarwchar,adParamInput,15)
   '           .Parameters.Append .CreateParameter("@sort"  ,advarwchar,adParamInput,15)

 

              .Parameters("@mode")  = mode
              .Parameters("@idx")  = idx
              .Parameters("@sday")  = sday
              .Parameters("@eday")  = eday
              .Parameters("@OP_STATUS") = OP_STATUS
              .Parameters("@SRC_CATE") = SRC_CATE
              .Parameters("@BUSID")  = BUSID
              .Parameters("@OCCID")  = OCCID
              .Parameters("@KEYWORD") = KEYWORD
              .Parameters("@t_abro") = t_abro
              .Parameters("@OP_COMMENT")= OP_COMMENT
              .Parameters("@page")  = page
              .Parameters("@paging") = paging
              .Parameters("@orderby") = orderby
              .Parameters("@sort")  = sort
              .Parameters("@result") = 0

              .Execute , , adExecuteNoRecords

              intResult = .Parameters("@result")

       End with
       Response.write intResult


       Set objCmd = Nothing

       if ( intResult <> 0 ) then
              Response.Write "데이터 저장중 에러가 발생했습니다. 다시 한번 시도해 주세요. <a href = ""javascript:history.back();"">확인</a>"
       else
              Response.Write "데이터 저장 성공 !!! <a href = ""address_write.htm"">확인</a>"
       end If