Pro Microsoft Visual Basic.NET verzi tohoto článku, naleznete v tématu
306574
(http://support.microsoft.com/kb/306574/
)
.
Tento článek ukazuje tři metody
volání uložené procedury z použití datových objektů ActiveX Active Server Pages
(ADO).
V následujícím příkladu je objekt příkazu k volání
Ukázka uložené procedury sp_test. Tento uložený postup přijímá celé a
má návratovou hodnotou i celé:
<%@ LANGUAGE="VBSCRIPT" %>
<!--#include virtual="/ASPSAMP/SAMPLES/ADOVBS.INC"-->
<HTML>
<HEAD><TITLE>Place Document Title Here</TITLE></HEAD>
<BODY>
This first method queries the data source about the parameters
of the stored procedure. This is the least efficient method of calling
a stored procedure.<BR>
<%
Set cn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
cn.Open "data source name", "userid", "password"
Set cmd.ActiveConnection = cn
cmd.CommandText = "sp_test"
cmd.CommandType = adCmdStoredProc
' Ask the server about the parameters for the stored proc
cmd.Parameters.Refresh
' Assign a value to the 2nd parameter.
' Index of 0 represents first parameter.
cmd.Parameters(1) = 11
cmd.Execute
%>
Calling via method 1<BR>
ReturnValue = <% Response.Write cmd.Parameters(0) %><P>
<!-- ************************************************************ -->
Method 2 declares the stored procedure, and then explicitly declares
the parameters.<BR>
<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "data source name", "userid", "password"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = cn
cmd.CommandText = "sp_test"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _
adParamReturnValue)
cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _
adParamInput)
' Set value of Param1 of the default collection to 22
cmd("Param1") = 22
cmd.Execute
%>
Calling via method 2<BR>
ReturnValue = <% Response.Write cmd(0) %><P>
<!-- ************************************************************ -->
Method 3 is probably the most formal way of calling a stored procedure.
It uses the canocial
<%
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open "data source name", "userid", "password"
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = cn
' Define the stored procedure's inputs and outputs
' Question marks act as placeholders for each parameter for the
' stored procedure
cmd.CommandText = "{?=call sp_test(?)}"
' specify parameter info 1 by 1 in the order of the question marks
' specified when we defined the stored procedure
cmd.Parameters.Append cmd.CreateParameter("RetVal", adInteger, _
adParamReturnValue)
cmd.Parameters.Append cmd.CreateParameter("Param1", adInteger, _
adParamInput)
cmd.Parameters("Param1") = 33
cmd.Execute
%>
Calling via method 3<BR>
ReturnValue = <% Response.Write cmd("RetVal") %><P>
</BODY>
</HTML>
Poznámka: v předchozích příkladech, různé způsoby přístupu k parametry
Kolekce objektu příkazu jsou použity. Některé používají výchozí kolekce
objekt příkazu, zatímco ostatní určit, jaké vlastnosti dané kolekce do
přístup.
Nejnovější články databáze Knowledge Base a další podporu.
informace o Visual InterDev a Active Server Pages naleznete na následující stránce
na webu technické podpory společnosti Microsoft:
ID článku: 164485 - Poslední aktualizace: 23. dubna 2011 - Revize: 6.0
Informace v tomto článku jsou určeny pro produkt:
- Microsoft Active Server Pages 4.0
- Microsoft ActiveX Data Objects 2.7
| kbcode kbdatabase kbhowto kbsample kbscript kbmt KB164485 KbMtcs |
Strojově přeložený článekDůležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:
164485
(http://support.microsoft.com/kb/164485/en-us/
)
Právní omezení pro obsah znalostní báze týkající se produktů, jejichž podpora byla ukončenaTento článek byl napsán o produktech, pro které společnost Microsoft již neposkytuje nadále podporu. Článek je tedy nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.