⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 asp深度揭密(上).htm

📁 较为详细的介绍了asp自定义的各种函数,方便asp的各种开发.
💻 HTM
📖 第 1 页 / 共 3 页
字号:
              user_name=@user_name and password=@password<BR>response.write 
              "普通的调用方法:&lt;br&gt;"<BR>set 
              rs=server.createobject("adodb.recordset")<BR>sql="user_info_1 
              '"&amp;request.querystring("user_name")&amp;"','"&amp;request.querystring("password")&amp;"'"<BR>rs.open 
              sql,conn,1,1<BR>response.write 
              rs("id")&amp;"&lt;br&gt;"<BR>rs.close</P>
              <P>'使用recordset调用无输入参数,返回纪录集的存储过程,可以使用recordcount等属性<BR>'CREATE 
              PROCEDURE [user_info_3] AS<BR>'select * from 
              user_info<BR>response.write 
              "&lt;br&gt;返回纪录集,可以使用recordcount等属性:"<BR>sql="exec 
              user_info_3"<BR>rs.open sql,conn,1,1<BR>for i=1 to 
              rs.recordcount<BR>response.write 
              "&lt;br&gt;"&amp;rs("user_name")<BR>rs.movenext<BR>next<BR>rs.close<BR>set 
              rs=nothing</P>
              <P>'使用command调用带输出参数的存储过程<BR>'CREATE PROCEDURE [output_1]<BR>'@sid 
              int output<BR>'AS<BR>'set @sid=2<BR>response.write 
              "&lt;br&gt;&lt;br&gt;调用带输出参数的存储过程:&lt;br&gt;"<BR>set 
              cmd=server.createobject("adodb.command")<BR>cmd.activeconnection=conn<BR>cmd.commandtext 
              = "output_1"<BR>cmd.parameters.append 
              cmd.createparameter("@sid",adinteger,adparamoutput)<BR>cmd("@sid")=10<BR>cmd.execute()<BR>bbb=cmd("@sid")<BR>response.write 
              bbb&amp;"&lt;br&gt;"<BR>set cmd=nothing</P>
              <P>'使用command调用带两个输入参数和返回值的存储过程<BR>'CREATE PROCEDURE 
              [return_1]<BR>'(@user_name varchar(40))<BR>'AS<BR>'if 
              exists(select id from user_info where 
              user_name=@user_name)<BR>'return 1<BR>'else<BR>'return 
              0<BR>response.write 
              "&lt;br&gt;调用带两个输入参数和返回值的存储过程:&lt;br&gt;"<BR>set 
              cmd=server.createobject("adodb.command")<BR>cmd.activeconnection=conn<BR>cmd.commandtype 
              = adcmdstoredproc<BR>cmd.commandtext = 
              "return_1"<BR>cmd.parameters.append 
              cmd.createparameter("@return_value",adinteger,adparamreturnvalue)<BR>cmd.parameters.append 
              cmd.createparameter("@user_name",advarchar,adparaminput,40)<BR>cmd.parameters.append 
              cmd.createparameter("@password",advarchar,adparaminput,20)<BR>cmd("@user_name")="tuth"<BR>cmd("@password")="yyuyu"<BR>cmd.execute()<BR>rrr=cmd("@return_value")<BR>response.write 
              rrr<BR>set cmd=nothing</P>
              <P>conn.close<BR>set conn=nothing<BR>%&gt;</P>
              <P>效果:<BR>访问http://10.1.43.238/course/use_proc.asp?user_name=ahyi&amp;password=ttt时,出现如下</P>
              <P>普通的调用方法:<BR>12</P>
              <P>返回纪录集,可以使用recordcount等属性:<BR>ahyi<BR>tet<BR>tuth</P>
              <P>调用带输出参数的存储过程:<BR>2</P>
              <P>调用带两个输入参数和返回值的存储过程:<BR>1</P>
              <P>注意:若存储过程无参数,则调用的sql语句直接为存储过程名,一个参数为“存储过程名 参数”,若是多个参数,则“存储过程名 
              参数1,参数2,……,参数n”;如果在sql语句中加入exec,则在返回的记录集中可以使用recordcount等属性;如果想获得存储过程的返回值或输出参数,可以使用command对象。</P>
              <P>⑵.使用事务处理</P>
              <P>①.Asp内嵌的事务支持</P>
              <P>例子:<BR>use_transaction_1.asp<BR>&lt;%<BR>'Asp中使用事务<BR>Set 
              conn=Server.CreateObject("ADODB.Connection")<BR>conn.Open 
              "course_dsn","course_user","course_password"<BR>conn.begintrans 
              '开始事务</P>
              <P>sql="delete from user_info"<BR>set 
              rs=server.createobject("adodb.recordset")<BR>rs.open 
              sql,conn,3,3<BR>if conn.errors.count&gt;0 then 
              '有错误发生<BR>conn.rollbacktrans '回滚<BR>set 
              rs=nothing<BR>conn.close<BR>set conn=nothing<BR>response.write 
              "交易失败,回滚至修改前的状态!"<BR>response.end<BR>else<BR>conn.committrans 
              '提交事务<BR>set rs=nothing<BR>conn.close<BR>set 
              conn=nothing<BR>response.write "交易成功!"<BR>response.end<BR>end 
              if<BR>%&gt;</P>
              <P>②.数据库级的事务</P>
              <P>i.创建存储过程</P>
              <P>CREATE PROCEDURE [user_info_2]<BR>(@user_name 
              varchar(40),@password varchar(20))<BR>AS<BR>SET XACT_ABORT 
              ON<BR>BEGIN TRANSACTION<BR>delete from user_info where 
              user_name=@user_name and password=@password<BR>COMMIT 
              TRANSACTION<BR>SET XACT_ABORT OFF</P>
              <P>ii.在Asp中调用</P>
              <P>use_transaction_2.asp<BR>&lt;%<BR>Set 
              conn=Server.CreateObject("ADODB.Connection")<BR>conn.Open 
              "course_dsn","course_user","course_password"</P>
              <P>sql="user_info_2 
              '"&amp;request.querystring("user_name")&amp;"','"&amp;request.querystring("password")&amp;"'"</P>
              <P>set rs=server.createobject("adodb.recordset")<BR>rs.open 
              sql,conn,1,1<BR>set rs=nothing<BR>conn.close<BR>set 
              conn=nothing<BR>%&gt;<BR><BR>讨论:两种方式的优劣?</P>
              <P>⑶.使用视图<BR>在数据库中定义好视图之后,在Asp中如同使用一个表一样来使用视图</P>
              <P>4.一个数据库分页的例子</P>
              <P>db_page.asp<BR>&lt;%<BR>on error resume next<BR>Set 
              conn=Server.CreateObject("ADODB.Connection") 
              '创建连接数据库的对象<BR>conn.Open 
              "course_dsn","course_user","course_password" '使用该对象连接数据库<BR>set 
              rs=server.createObject("adodb.recordset")<BR>sql="select * from 
              user_info order by id desc"<BR>rs.open sql,conn,1,1</P>
              <P>if rs.recordcount&gt;0 then '如果有记录<BR>rs.pagesize=2 
              '每页最多显示2条纪录<BR>'从URL获取当前要显示的页<BR>page=cint(request("page"))<BR>'页面参数异常处理<BR>if 
              page="" then page=1<BR>if page&lt;1 then page=1<BR>if page&gt;= 
              rs.pagecount then page=rs.pagecount<BR>rs.absolutepage=page 
              '当前页为page参数指定的页<BR>for i=1 to rs.pagesize 
              '根据pagesize参数的大小循环显示当前页中的纪录<BR>response.write 
              "User_id:"&amp;rs("id")&amp;"&lt;br&gt;"<BR>response.write 
              "User_name:"&amp;rs("user_name")&amp;"&lt;br&gt;&lt;br&gt;"<BR>rs.movenext 
              '纪录指针下移<BR>if rs.eof then exit for '如果到达纪录集底部则退出循环<BR>next<BR>end 
              if</P>
              <P>'显示翻页按钮<BR>if page&gt;1 then<BR>response.write "&lt;a 
              href="&amp;request.servervariables("document_name")&amp;"?page=1&gt;第一页&lt;/a&gt; "<BR>response.write 
              "&lt;a 
              href="&amp;request.servervariables("document_name")&amp;"?page="&amp;(page-1)&amp;"&gt;上一页&lt;/a&gt; " 
              <BR>end if<BR>if page&lt;&gt;rs.pagecount then<BR>response.write 
              "&lt;a 
              href="&amp;request.servervariables("document_name")&amp;"?page="&amp;(page+1)&amp;"&gt;下一页&lt;/a&gt; " 
              <BR>response.write "&lt;a 
              href="&amp;request.servervariables("document_name")&amp;"?page="&amp;rs.pagecount&amp;"&gt;最后一页&lt;/a&gt; " 
              <BR>end 
              if<BR>response.write"页码:"&amp;page&amp;"/"&amp;rs.pagecount</P>
              <P>'关闭对象,释放内存<BR>rs.close<BR>set rs=nothing<BR>conn.close<BR>set 
              conn=nothing<BR>%&gt;</P>
              <P>思考:分页过程中使用了哪些额外的属性? <BR><BR></P></BLOCKQUOTE></TD></TR>
        <TR>
          <TD class=p4 vAlign=top width="50%">
            <BLOCKQUOTE>原作者:ahyi(转)<BR>来 源:开发者俱乐部<BR>共有7892位读者阅读过此文<BR>【<A 
              href="http://bbs.aspsky.net/list.asp?boardid=1">发表评论</A>】 
            </BLOCKQUOTE></TD>
          <TD class=p4 vAlign=top width="50%">
            <P>
            <LI><FONT color=#0772b1>上篇文章</FONT>:<A 
            href="http://www.aspsky.net/article/list.asp?id=2778">简体中文编码对应器</A> 
            <BR>
            <LI><FONT color=#0772b1>下篇文章</FONT>:<A 
            href="http://www.aspsky.net/article/list.asp?id=2780">Asp深度揭密(下)</A> 
            </LI></TD></TR>
        <TR>
          <TD bgColor=#297dff class=p4 height=20 width="50%"><FONT 
            color=#ceffff>&nbsp;→ 本周热门</FONT></TD>
          <TD bgColor=#297dff class=p4 width="50%"><FONT color=#ceffff>&nbsp;→ 
            相关文章</FONT></TD></TR>
        <TR>
          <TD bgColor=#586011 colSpan=2 height=1><SPACER type="block" 
            width="1"></TD></TR>
        <TR>
          <TD colSpan=2 height=7></TD></TR>
        <TR>
          <TD class=p4 vAlign=top width="50%">
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1510" 
            target=_top title="SQL Server 7.0 入门(一)">SQL Server 7.0 
            入门(...</A>[<FONT color=red>7238</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1540" 
            target=_top title=PHP4实际应用经验篇(1)>PHP4实际应用经验篇(1)</A>[<FONT 
            color=red>7135</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1536" 
            target=_top 
            title=无组件文件上传代码实例(支持多文件上传及文件和input域混合上传)>无组件文件上传代码实例(支持多文件上...</A>[<FONT 
            color=red>6029</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=2557" 
            target=_top title=树型结构在ASP中的简单解决>树型结构在ASP中的简单解决</A>[<FONT 
            color=red>5757</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1545" 
            target=_top title=PHP4实际应用经验篇(6)>PHP4实际应用经验篇(6)</A>[<FONT 
            color=red>5599</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=2563" 
            target=_top title=一个老个写的无组件上传>一个老个写的无组件上传</A>[<FONT 
            color=red>5013</FONT>]<BR>
            <LI><A href="http://www.aspsky.net/article/list.asp?id=1542" 
            target=_top title=PHP4实际应用经验篇(3)>PHP4实际应用经验篇(3)</A>[<FONT 
            color=red>4731</FONT>]<BR></LI></TD>
          <TD class=p4 vAlign=top width="50%">
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2780">Asp深度揭密(下)</A><BR>
            <LI><A 
            href="http://www.aspsky.net/article/list.asp?id=2779">Asp深度揭密(上)</A><BR></LI></TD></TR>
        <TR>
          <TD colSpan=2 height=7></TD></TR></TBODY></TABLE>
    <TD bgColor=#297dff width=1> </TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
  <TBODY>
  <TR>
    <TD bgColor=#297dff height=1><SPACER type="block" 
width="1"></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
  <TBODY>
  <TR>
    <TD align=middle height=30></TD></TR></TBODY></TABLE>
<TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
  <TBODY>
  <TR>
    <TD align=middle class=p2 width="100%">
      <TABLE border=0 cellPadding=0 cellSpacing=0 width=755>
        <TBODY>
        <TR>
          <TD align=middle class=p2 width="100%">
            <P align=center><A 
            href="http://www.aspsky.net/produce/index.asp">客户服务</A> -- <A 
            href="http://www.aspsky.net/aspads.asp">广告合作</A> -- <A 
            href="http://www.aspsky.net/about.asp">关于本站</A> -- <A 
            href="http://www.aspsky.net/tell.asp">联系方法</A><BR><BR>动网先锋版权所有 <FONT 
            face=Verdana, size=1 Arial, Helvetica, sans-serif>Copyright &copy; 
            2000-2001 <B>AspSky<FONT color=#cc0000>.Net</FONT></B>, All Rights 
            Reserved .</FONT> 
</P></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></CENTER></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -