2011-08-03 8 views
1

반환 값 및 OUTPUT 매개 변수가있는 저장 프로 시저를 호출하는 ASP 페이지가 있습니다.ASP 페이지가 표시되지 않음 저장 프로 시저 OUTPUT

출력 매개 변수가 표시되지 않으며 그 이유를 이해하고 있지 않다 :

<% 
    dim Objrs, cmd 
    set Objrs = Server.CreateObject("ADODB.RecordSet") 
    set cmd = Server.CreateObject("ADODB.Command") 
    set conn = Server.CreateObject("ADODB.Connection") 
    conn.Open strConnect 
    set cmd.ActiveConnection = conn 
    cmd.CommandText="MKTG_Current" 
    cmd.CommandType=adCmdStoredProc 
    cmd.Parameters.Append cmd.CreateParameter("@added", 135, 2) 
    cmd.Parameters.Append cmd.CreateParameter("@named", 200, 2, 50) 

    set Objrs = cmd.Execute 
%> 
    </div> 
    <div id="recent-news-box" class="rounded-corners-top dropshadow"> 
     <h3 class="border-dashed-b">Updated on: <%=Objrs.state%></h3> 
     <div> 
<% 
    While Not Objrs.EOF 
     Response.Write Objrs("Subject") 
     Objrs.MoveNext 
    Wend 
    name_of_table = cmd.Parameters("@named").value 
    added = cmd.Parameters("@added").value 
    set cmd = nothing 
    set Objrs = nothing 
    conn.close 
    set conn = nothing 
     Response.Write name_of_table 
     Response.Write added  
%> 
      </div> 
     </div> 
     </div> 

내가 아무 소용이 출력 항목의 위치를 ​​변경 시도했습니다.

답변

0

ADO가 레코드 세트와 출력 매개 변수 모두에 명령 결과를 반환하는 방식 때문에 일부 clunkiness가 있습니다. 반환 된 레코드가 닫힌 후

그들은 사용할 수 있습니다, 그래서이 순서 작동합니다 :

conn.Open strConnect 
    conn.CursorLocation = 3 '//aduseclient 
    set cmd.ActiveConnection = conn 
:

set Objrs = nothing 

    name_of_table = cmd.Parameters("@named").value 
    added = cmd.Parameters("@added").value 

    set cmd = nothing 
    conn.close 
    set conn = nothing 

    Response.Write name_of_table 
    Response.Write added 

대안은와 클라이언트 측 커서에 스위치를 추가 여기서 코드를 수정하지 않고있다

(형식 입력란에 연결되어 있지 않은 경우 adCmdStoredProc을 숫자 값으로 사용해서는 안 됨)

+0

우수! 고객에게 커서가 바뀌는 것이 트릭을 만들었습니다! – Techmaniac