ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>ÍøÂç±à³Ì>Asp±à³Ì>Áбí

ASPµ÷Óôø²ÎÊý´æ´¢¹ý³ÌµÄ¼¸ÖÖ·½Ê½

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-23
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!

ASPµ÷Óôø²ÎÊý´æ´¢¹ý³ÌµÄ¼¸ÖÖ·½Ê½

×î½üÓкܶàµÄÅóÓÑÎʵ½µ÷Óô洢¹ý³ÌµÄÎÊÌ⣬ÕâÀï¼òµ¥½éÉܼ¸ÖÖASPµ÷Óôø²ÎÊý´æ´¢¹ý³ÌµÄ·½·¨¡£

1. ÕâÒ²ÊÇ×î¼òµ¥µÄ·½·¨,Á½¸öÊäÈë²ÎÊý£¬ÎÞ·µ»ØÖµ£º
set connection = server.createobject("adodb.connection")
connection.open someDSN
Connection.Execute "procname varvalue1, varvalue2"

'½«ËùÓжÔÏóÇåΪnothing£¬ÊÍ·Å×ÊÔ´
connection.close
set connection = nothing


2. Èç¹ûÒª·µ»Ø Recordset ¼¯:
set connection = server.createobject("adodb.connection")
connection.open someDSN
set rs = server.createobject("adodb.recordset")
rs.Open "Exec procname varvalue1, varvalue2",connection

'½«ËùÓжÔÏóÇåΪnothing£¬ÊÍ·Å×ÊÔ´
rs.close
connection.close
set rs = nothing
set connection = nothing


3. ÒÔÉÏÁ½ÖÖ·½·¨¶¼²»ÄÜÓзµ»ØÖµ£¬£¨Recordset³ýÍ⣩£¬Èç¹ûÒªµÃµ½·µ»ØÖµ£¬ÐèÒªÓÃCommandµÄ·½·¨¡£
Ê×ÏÈ˵Ã÷£¬·µ»ØÖµÓÐÁ½ÖÖ¡£Ò»ÖÖÊÇÔÚ´æ´¢¹ý³ÌÖÐÖ±½ÓreturnÒ»¸öÖµ£¬¾ÍÏóCºÍVBµÄº¯Êý·µ»ØÖµÄÇÑù£»ÁíÒ»ÖÖÊÇ¿ÉÒÔ·µ»Ø¶à¸öÖµ£¬´æ
´¢ÕâЩֵµÄ±äÁ¿Ãû³ÆÐèÒªÔÚµ÷ÓòÎÊýÖÐÏÈÐÐÖ¸¶¨¡£
Õâ¸öÀý×ÓÒª´¦Àí¶àÖÖ²ÎÊý£¬ÊäÈë²ÎÊý£¬Êä³ö²ÎÊý£¬·µ»Ø¼Ç¼¼¯ÒÔ¼°Ò»¸öÖ±½Ó·µ»ØÖµ£¨¹»È«Á˰ɣ¿£©
´æ´¢¹ý³ÌÈçÏ£º

use pubs
GO

-- ½¨Á¢´æ´¢¹ý³Ì
create procedure sp_PubsTest

-- ¶¨ÒåÈý¸ö²ÎÊý±äÁ¿£¬×¢ÒâµÚÈý¸ö£¬Ìرð±ê¼ÇÊÇÓÃÓÚÊä³ö
@au_lname varchar (20),
@intID int,
@intIDOut int OUTPUT

AS

SELECT @intIDOut = @intID 1

SELECT *
FROM authors
WHERE au_lname LIKE @au_lname '%'

--Ö±½Ó·µ»ØÒ»¸öÖµ
RETURN @intID 2


µ÷Óøô洢¹ý³ÌµÄasp³ÌÐòÈçÏ£º

<%@ Language=VBScript %>
<%
Dim CmdSP
Dim adoRS
Dim adCmdSPStoredProc
Dim adParamReturnValue
Dim adParaminput
Dim adParamOutput
Dim adInteger
Dim iVal
Dim oVal
Dim adoField
Dim adVarChar

¡®ÕâЩֵÔÚ VB ÖÐÊÇÔ¤¶¨Òå³£Á¿£¬¿ÉÒÔÖ±½Óµ÷Ó㬵«ÔÚ VBScript ÖÐûÓÐÔ¤¶¨Òå
adCmdSPStoredProc = 4
adParamReturnValue = 4
adParaminput = 1
adParamOutput = 2
adInteger = 3
adVarChar = 200

iVal = 5
oVal = 3

'½¨Ò»¸öcommand¶ÔÏó
set CmdSP = Server.CreateObject("ADODB.Command")

'½¨Á¢Á¬½á
CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs"

'¶¨Òåcommand ¶ÔÏóµ÷ÓÃÃû³Æ
CmdSP.CommandText = "sp_PubsTest"

'ÉèÖÃcommandµ÷ÓÃÀàÐÍÊÇ´æ´¢¹ý³Ì (adCmdSPStoredProc = 4)
CmdSP.CommandType = adCmdSPStoredProc

'Íùcommand ¶ÔÏóÖмӲÎÊý
'¶¨Òå´æ´¢¹ý³ÌÓÐÖ±½Ó·µ»ØÖµ£¬²¢ÇÒÊǸöÕûÊý£¬Ê¡È±ÖµÊÇ4
CmdSP.Parameters.Append CmdSP.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 4)
'¶¨ÒåÒ»¸ö×Ö·ûÐÍÊäÈë²ÎÊý
CmdSP.Parameters.Append CmdSP.CreateParameter("@au_lname", adVarChar, adParaminput, 20, "M")
'¶¨ÒåÒ»¸öÕûÐÍÊäÈë²ÎÊý
CmdSP.Parameters.Append CmdSP.CreateParameter("@intID", adInteger, adParamInput, , iVal)
'¶¨ÒåÒ»¸öÕûÐÍÊä³ö²ÎÊý
CmdSP.Parameters.Append CmdSP.CreateParameter("@intIDOut", adInteger, adParamOutput, oVal)

'ÔËÐд洢¹ý³Ì£¬²¢µÃµ½·µ»Ø¼Ç¼¼¯
Set adoRS = CmdSP.Execute


'°Ñÿ¸ö¼Ç¼´òÓ¡³öÀ´£¬ÆäÖеÄ×Ö¶ÎÊÇÐéÄâµÄ£¬¿ÉÒÔ²»ÓùÜ
While Not adoRS.EOF

for each adoField in adoRS.Fields
Response.Write adoField.Name & "=" & adoField.Value & "<br>" & vbCRLF
Next
Response.Write "<br>"
adoRS.MoveNext
Wend

'´òÓ¡Á½¸öÊä³öÖµ£º
Response.Write "<p>@intIDOut = ¡° & CmdSP.Parameters("@intIDOut").Value & "</p>"
Response.Write "<p>Return value = " & CmdSP.Parameters("RETURN_VALUE").Value & "</p>"


'´óɨ³ý
Set adoRS = nothing
Set CmdSP.ActiveConnection = nothing
Set CmdSP = nothing
%>


------------------------------------------------------------------------------------------------------------------------------------

ÔÚaspÖе÷ÓÃsql serverµÄ´æ´¢¹ý³Ì¿ÉÒÔ¼Ó¿ì³ÌÐòÔËÐÐËÙ¶È

1.µ÷Óô洢¹ý³ÌµÄÒ»°ã·½·¨
ÏȼÙÉèÔÚsql serverÖÐÓÐÒ»´æ´¢¹ý³Ìdt_users£º
CREATE PROCEDURE [dbo].[dt_users]
AS
select * from users
return
GO
µÚÒ»ÖÖ·½·¨ÊDz»ÀûÓÃcommand¶ÔÏó£¬Ö±½ÓÓÃrecordset¶ÔÏó
set rs=server.createobject("adodb.recordset")
sql="exec dt_users"
rs.open sql,conn,1,1 ÕâÑù¾Í¿É
µÚ¶þÖÖ·½·¨ÊÇÀûÓÃcommand¶ÔÏó
set comm=server.createobject("adodb.command")
comm.commantype=4
set comm.activeconnection=conn
comm.commandtext="dbo.dt_users"
set rs=server.createobject("adodb.recordset")
rs.open comm,,1,1

2.¸ø´æ´¢¹ý³Ì´«µÝ²ÎÊý
Èç¹û´æ´¢¹ý³ÌÖв»ÓòÎÊý£¬¶øÊǵ¥Ò»µÄsqlÓï¾ä£¬»¹ÏÔʾ²»³öµ÷Óô洢¹ý³ÌµÄÓÅÊÆ£¡
±ÈÈç˵һbbsµÄ²éѯ£¬¿ÉÒÔ°´×÷ÕߺÍÖ÷Ìâ²éѯ£¡Ôò¿ÉÒÔ½¨Á¢´æ´¢¹ý³ÌÈçÏ£º
²ÎÊýkeywordΪ¹Ø¼ü×Ö£¬chooseÊÇÑ¡Ôñ²éѯµÄ·½·¨¡£
CREATE PROCEDURE [dbo].[dt_bbs]
@keyword varchar(20)=null,
@choose int=null
as
if @choose=1
select * from bbs where name like @keyword
else
select * from bbs where subject like @keyword
return
go
ÕâÑùÎÒÃǵ÷Óô洢¹ý³ÌʱֻÐ轫²ÎÊý´«µÝ¹ýÈ¥¾ÍÐÐÁË£¬¶øÊ¡È¥ÔÚaspÖÐÀ´Ð´Ò»¶Î³ÌÐò
ÓõÚÒ»ÖÖ·½·¨£º
set rs=server.createobject("adodb.recordset")
sql="exec dt_bbs '"&keyword&"',"&choose&""

ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!