ASP中调用存储过程

原创 2004年09月22日 17:01:00
*/
CREATE PROCEDURE pr_testAdd(
  @StudNo varchar(10),			--学生学号
  @id int,				--文章ID,对应于修改信息,增加时为NULL
  @MagType varchar(50),			--期刊类型
  @Grade varchar(10),			--等级(只有核心期刊,才有等级,其它类型为NULL)
  @OneAuthor tinyint,			--是否唯一作者(1--唯一作者,0--不是唯一作者)
  @AuthorSeq varchar(50),		--作者顺序(只有不是唯一作者才不为空)
  @Credit float output			--返回分值
)
上面是存储过程的定义。大家看看我这样调用为什么不对!


	set CmdSP = Server.CreateObject("ADODB.Command")

	CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=test"

	CmdSP.CommandText = "{call pr_testAdd(?,?,?,?,?,?,?)}" 
	CmdSP.CommandType = adCmdSPStoredProc
	
	CmdSp.Parameters.Append CmdSP.CreateParameter("@StudNo",adVarchar,adParamInput,10,"20140001")
	CmdSp.Parameters.Append CmdSP.CreateParameter("@id",adInteger,adParamInput,NULL)
	CmdSp.Parameters.Append CmdSP.CreateParameter("@MagType",adVarchar,adParamInput,50,"核心期刊")
	CmdSp.Parameters.Append CmdSP.CreateParameter("@Grade",adVarchar,adParamInput,10,"A1")
	CmdSp.Parameters.Append CmdSP.CreateParameter("@OneAuthor",adTinyInt,adParamInput,0)
	CmdSp.Parameters.Append CmdSP.CreateParameter("@AuthorSeq",adVarchar,adParamInput,50,"第一作者")
	CmdSp.Parameters.Append CmdSP.CreateParameter("@Credit",,adParamInput)



	'运行存储过程,并得到返回记录集
	CmdSP.Execute()

    if err.number = 0  then

	Response.Write "ok"
	else 
	 Response.write "failed"

	End if
真的很急呀!!!
回复人: lbIlj() ( ) 信誉:100 2004-04-25 21:54:20Z 得分:0
 
最后一个输出参数是这样的
	CmdSp.Parameters.Append CmdSP.CreateParameter("@Credit",,adParamOutput)
Top
回复人: lbIlj() ( ) 信誉:100 2004-04-25 22:19:03Z 得分:0
 
up
Top
回复人: lbIlj() ( ) 信誉:100 2004-04-25 22:57:29Z 得分:0
 
没有人对这个问题有研究码、
Top
回复人: Jaron(唐伯虎点蚊香) ( ) 信誉:317 2004-04-25 23:03:56Z 得分:30
 
我以前程序里的一段,希望对你有用.

Set cmd = Server.CreateObject("Adodb.Command")
cmd.ActiveConnection = Db.Conn
cmd.CommandText = "Enterprise_Registration_Add"
cmd.CommandType = &H0004
cmd.Parameters.Append cmd.CreateParameter("@Accout",200,1,20)
cmd.Parameters.Append cmd.CreateParameter("@Password",200,1,20)
cmd.Parameters.Append cmd.CreateParameter("@Email",200,1,50)
cmd.Parameters.Append cmd.CreateParameter("@RegIP",200,1,20)
cmd("@Accout") = Accout
cmd("@Password") = Password
cmd("@Email") = Email
cmd("@RegIP") = RegIP
cmd.execute
'//用户登陆
' @EnterpriseId bigint output,
' @MemeberId bigint output,
' @EnpterrpiseLevel int output,
'@IsEnterprise bit output
If Err.Number <> 0 Then 
    Str.Error("<li>注册发生错误,等会再试")
Else
   Session("EnterpriseId") =Cmd("@EnterpriseId")
   Set Cmd = NOthing
End if
Top
回复人: Jaron(唐伯虎点蚊香) ( ) 信誉:317 2004-04-25 23:05:25Z 得分:20
 
如果只是返回记录集
可以用:

set rs = conn.execute("存储过程名 参数1,参数2,参数3")

do while not (rs.eof)
.........
rs.movenext
loop
Top
回复人: zhe5d(不耻瞎问) ( ) 信誉:100 2004-04-26 01:03:34Z 得分:20
 
1,调用没有参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"</P><P>conn.Open strconn
set cmd.ActiveConnection=conn</P><P>cmd.CommandText="{call nono}"</P><P>'set rs=cmc.exe 或者cmd.execute</P><P>set rs=cmd.Execute()</P><P>%>
2,一个输入的参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"</P><P>conn.Open strconn
set cmd.ActiveConnection=conn</P><P>cmd.CommandText="{call oneinput(?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
cmd("@aaa")=100</P><P>cmd.Execute()</P><P>%>
3,一个输入参数和一个输出的参数
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"</P><P>conn.Open strconn
set cmd.ActiveConnection=conn</P><P>cmd.CommandText = "{call oneinout(?,?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)</P><P>cmd.Execute()</P><P>bbb=cmd("@bbb")
%>
4,一个输入参数,一个输出参数,和一个返回值
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"</P><P>conn.Open strconn
set cmd.ActiveConnection=conn</P><P>cmd.CommandText="{?=call onereturn(?,?)}"</P><P>cmd.Parameters.Append cmd.CreateParameter("@return_value",adInteger,adParamReturnvalue )
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput )
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)</P><P>cmd.Execute()</P><P>bbb=cmd("@bbb")
rrr=cmd("@return_value")
%>
Top
回复人: inelm(木野狐) ( ) 信誉:133 2004-04-26 01:15:01Z 得分:1
 
http://computer.blogger.cn/archimond/posts/2730.aspx
Top
回复人: lbIlj() ( ) 信誉:100 2004-04-26 08:49:25Z 得分:0
 
大家说说会不会与环境有关系呢?因为我以前可以调用的一个存储过程现在调用不了了。我的sql server中过一次毒。我重新装了sql server,还装了.net不知道这些会不会有影响,但是我在sql 查询分析器里面又是可以运行存储过程的。
Top
回复人: pcvc(www.pcvc.net欢迎您!) ( ) 信誉:93 2004-04-26 09:55:17Z 得分:29
 
我的例子:

rs.Open "EXEC pr_testAdd @DSort='" & sort1 & "', @Forum_ID=" & request("forum_id") & ", @DefDate='" & defDate & "' with recompile", my_conn

直接操作记录集rs就行了。

在asp中调用sql server的存储过程方法

在asp中调用sql server的存储过程可以加快程序运行速度   1.调用存储过程的一般方法   先假设在sql server中有一存储过程dt_users:   CREATE PROCED...
  • sscrazy
  • sscrazy
  • 2014年11月13日 16:01
  • 619

在ASP中使用存储过程

        学习使用存储过程(Stored Procedure),是ASP程序员的必须课之一。所有的大型数据库都支持存储过程,比如Oracle、MS SQL等,(但MS Access不支持,不过,...
  • feng19821209
  • feng19821209
  • 2005年08月22日 15:10
  • 1567

一个SQL存储过程分页和ASP调用

存储过程:CREATE PROCEDURE Sp_Page@IntPageSize int,--页大小@IntCurrPage int,--页码@strFields nvarchar(1000),--...
  • ehung
  • ehung
  • 2005年05月30日 10:21
  • 1499

ASP脚本如何调用Oracle存储过程

ASP脚本如何调用Oracle存储过程摘自 久久网络一、ASP动态网站开发技术  随着人们对因特网认识的加深和IT技术的发展,一成不变的静态网页已经越来越满足不了信息交互和电子商务的需求,因此以数据库...
  • itzhiren
  • itzhiren
  • 2007年04月20日 15:49
  • 1208

ASP调用存储过程:返回多个记录集的存储过程

  7. 返回多个记录集的存储过程  本文最先介绍的是返回记录集的存储过程。有时候,需要一个存储过程返回多个记录集,在ASP中,如何同时取得这些记录集呢?为了说明这一问题,在userinfo表中增加两...
  • kingwkb
  • kingwkb
  • 2006年08月04日 09:27
  • 3985

ASP调用存储过程:有输入参数和输出参数的存储过程

  4. 有输入参数和输出参数的存储过程  返回值其实是一种特殊的输出参数。在大多数情况下,我们用到的是同时有输入及输出参数的存储过程,比如我们想取得用户信息表中,某ID用户的用户名,这时候,有一个输...
  • kingwkb
  • kingwkb
  • 2006年08月04日 09:26
  • 4307

【转】ASP中采用 VBScript 调用各类型的存储过程的总结

存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。   定义总是很抽象。存储过程其实就是能完成一定操作的一组SQL语句,只不过这组语句是放在数据库中的(这里我们只谈SQL Serv...
  • sl159
  • sl159
  • 2012年08月02日 08:55
  • 1340

Asp调用存储过程,command.CreateParameter 参数值的类型说明

Asp调用各种存储过程,包括带参数,无参数,输入输出参数,带返回值等。 1,调用没有参数的存储过程 set conn=server.CreateObject(“adodb.connecti...
  • shen020453
  • shen020453
  • 2016年03月31日 10:46
  • 943

ASP中存储过程如何调用?

1 这也是最简单的方法,两个输入参数,无返回值: set connection = server.createobject("adodb.connection") connection.open so...
  • lpy123456
  • lpy123456
  • 2006年12月26日 12:21
  • 609

ASP中如何调用存储过程

文章作者:为之 责任编辑:大鱼 录入时间:2005-3-25 17:54:41 来源:未知频道声明:本频道的文章除部分特别声明禁...
  • luckie
  • luckie
  • 2006年11月20日 05:18
  • 327
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP中调用存储过程
举报原因:
原因补充:

(最多只允许输入30个字)