关键是我不会啊~所以才问的阿~老大帮忙改一下,我加上原码
-----------
先改SP為 CREATE PROCEDURE [dbo].[create_id](@retVal OUTPUT)
AS select @retVal=id from 表名 where id=2
然後
<%
dim Cn
dim Cmd
Set Cn=Server.CreateObject("ADODB.Connection")
Set Cmd=Server.CreateObject("ADODB.Command")
Cn.Open "Provider=SQLOLEDB;UID=Sa;PWD=;Initial catalog=Northwind;Data Source=." Cmd.Parameters.Append cmd.CreateParameter("Rec", 3,2)
cmd.CommandType = 4
cmd.CommandText = "create_id "
Set cmd.ActiveConnection = cn
cmd.Execute Response.Write Cmd.Parameters("Rec").value set Cn=Nothing
Set Cmd=Nothing
%>
-----------
-----------
先改SP為 CREATE PROCEDURE [dbo].[create_id](@retVal OUTPUT)
AS select @retVal=id from 表名 where id=2
然後
<%
dim Cn
dim Cmd
Set Cn=Server.CreateObject("ADODB.Connection")
Set Cmd=Server.CreateObject("ADODB.Command")
Cn.Open "Provider=SQLOLEDB;UID=Sa;PWD=;Initial catalog=Northwind;Data Source=." Cmd.Parameters.Append cmd.CreateParameter("Rec", 3,2)
cmd.CommandType = 4
cmd.CommandText = "create_id "
Set cmd.ActiveConnection = cn
cmd.Execute Response.Write Cmd.Parameters("Rec").value set Cn=Nothing
Set Cmd=Nothing
%>
-----------
AS select @retVal=id from 表名 where id=2 然後
<%
dim Cn
dim Cmd
Dim param1 As Parameter
Set Cn=Server.CreateObject("ADODB.Connection")
Set Cmd=Server.CreateObject("ADODB.Command") Cn.Open "Provider=SQLOLEDB;UID=Sa;PWD=;Initial catalog=Northwind;Data Source=." cmd.CommandType = 4
cmd.CommandText = "create_id "
Set cmd.ActiveConnection = cn
Set param2 = cmd.CreateParameter("Output", adInteger, adParamOutput)
cmd.Parameters.Append param2
cmd.Execute
Response.Write Cmd(0)
///Response.Write Cmd.Parameters("Rec").value set Cn=Nothing
Set Cmd=Nothing %>
存储过程为:
CREATE PROCEDURE [dbo].[create_id](@okey integer,@retVal integer OUTPUT)
AS
select @retVal=id from 表名 where id=2
请问怎样在asp中得到@retval的值?
AS
select @retVal=id from 表名 where id=2
2、ASP代碼:<%
dim Cn
dim Cmd
Set Cn=Server.CreateObject("ADODB.Connection")
Set Cmd=Server.CreateObject("ADODB.Command")
Cn.Open "Provider=SQLOLEDB;UID=Sa;PWD=;Initial catalog=Northwind;Data Source=." Cmd.Parameters.Append cmd.CreateParameter("Ret", 3,2) '這是返回來的參數
Cmd.Parameters.Append Cmd.CreateParameter("Ins", 3,1) '這是要傳進去的參數 Cmd.Parameters("Ins").Value = 100 '例:傳100進去 cmd.CommandType = 4
cmd.CommandText = "abc "
Set cmd.ActiveConnection = cn
cmd.Execute Response.Write Cmd.Parameters("Ret").value set Cn=Nothing
Set Cmd=Nothing
%>
Formal parameter '@okey' was defined as OUTPUT but the actual parameter not declared OUTPUT.
你把它改成Cmd.Parameters.Append cmd.CreateParameter("@retVal ", 3,2)
不就行了 ExecuteResponse.Write Cmd.Parameters("@retVal ").value
我的过程中
Response.Write Cmd(0)就是返回的结果,只不过使用的形式不同