ASP調用存講過程總結

1,執行帶參數的sql語句,返回集沒有pagecount,recordcount,pagesize等屬性.
sql="select * from table where UserName=? and UserPwd=?"
set conn=opendb()
Set cmd=Server.CreateObject("ADODB.Command")
with cmd
    .CommandTimeout   
= 1800
    .ActiveConnection 
= conn              'conn是聯接數據庫字符串
    .CommandText      = sql               '存儲過程名稱
    .CommandType      = 1                 '說明類型
    .Prepared         = true              '要求要命預編譯
    .Parameters.append .CreateParameter("@UserName",200,1,20,user_name)
    .Parameters.append .CreateParameter(
"@UserPwd",200,1,20,user_pwd)
    
Set rs=.Execute
end with
if not rs.eof then
  session(
"user_name")=user_name
  rdr
="url.asp"
else
  rdr
="login.asp"
  msg
="使用者帳號或密碼錯誤!"
end if
set cmd=nothing
rs.close():
set rs=nothing
conn.close():
set conn=nothing
'這种執行方式是帶參數的執行方式,返回的結果集是只向前的
'
,沒有recordcount,pagesize,pagecount屬性.
'
'

2,執行帶參數的sql語句,返回集有recordcount,pagecount,pagesize等屬性. 

<%
sql
="Select * from table WHERE answertime is not null and QA_ClassDetail_ID=?"&_
        
" ORDER BY AnswerTime desc,QALookNum"
this_pagesize
=page_qaNum
'建立物件
Set cmd=Server.CreateObject("ADODB.Command")
set conn=opendb()
with cmd
    .CommandTimeout   
= 1800
    .ActiveConnection 
= conn              'conn是聯接數據庫字符串
    .CommandText      = sql               '存儲過程名稱
    .CommandType      = 1                 '說明類型
    .Prepared         = true              '要求要命預編譯
    .Parameters.append .CreateParameter("@QA_ClassDetail_ID",3,1,4,id)
end with
Set rs = Server.CreateObject("ADODB.Recordset")
rs.open cmd,,
3
if not rs.eof then 
    rs.pagesize
=20
    allpage
=rs.pagecount
    
'對pagenum進行分析
    p=request("p")
    
if IsNumeric(p) then
        p
=cint(p)
        
if p>allpage then p=allpage
        
if p<=0 then p=1
    
else
        p
=1
    
end if
    
if p>0 then rs.absolutepage=p
    
for j=1 to this_pagesize
%
>
<a href="javascript:opencenterwin1('ViewAsk.asp?id=<%=rs("id")%>','VIEW',700,500);" title="<%=rs("qatitle")%>"><%=rs("qatitle")%></a>[<%=rs("qalookNum")%>]&nbsp;&nbsp;&nbsp;&nbsp;[回復日期:<%=Formatdatetime(rs("AnswerTime"),2)%>]<br>
<%   
        rs.movenext
        
if rs.eof then exit for
    
next
%
>
<!-- #include file="inc_page.asp"-->
<%
ELSE
%
>
<span style="text-align:center; width:100%;">抱歉,暫無資料.</span>
<%
END IF

set cmd=nothing
rs.close():set rs=nothing

conn.close():set conn=nothing
%
>

3,執行帶參數的sql語句進行新增/編輯/刪除

sql="delete from table where id=?"
set conn=opendb()
Set cmd=Server.CreateObject("ADODB.Command")
with cmd
    .CommandTimeout   
= 1800
    .ActiveConnection 
= conn              'conn是聯接數據庫字符串
    .CommandText      = sql               '存儲過程名稱
    .CommandType      = 1                 '說明類型
    .Prepared         = true              '要求要命預編譯
    .Parameters.append .CreateParameter("@id",3,1,4,id)
    .Execute
end with
set cmd=nothing
conn.close():
set conn=nothing
http://www.cnblogs.com/Athrun/archive/2007/08/13/854494.html
posted @ 2008-11-14 16:10  Athrun  阅读(253)  评论(0编辑  收藏  举报