存储过程

cinside 2009-08-22 09:44:27
自学SQLSERVER2000基本结束了~

可是还是不会用到程序上

比如写了一个存储系统

怎么在ASP中调用呢~

我在ASP里面只会用rst或者conn.execute执行sql语句

怎么调用存储系统呢

谁能写个简单的例子
~
我这次给个高分

顺便再写个很简单的例子--写出在ASP里面怎么调用触发器和视图~呵呵SQL也就这么多了~


最简单的例子就行了~让我知道怎么调用~

谢谢前辈们
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nevana 2009-08-24
  • 打赏
  • 举报
回复
存储过程虽然能够提高执行效率,但遇到程序迁移,尤其是更换数据库(如ORACLE)时就会麻烦无比,因此要慎用。不是特别大量的事物操作,最好就用简单SQL,不用存储过程,如果事物操作大到需要用存储过程的时候,不妨考虑一下其他的数据块服务器(如SYBASE,ORACLE),SQL2000的效率不怎么好,毕竟是在硬盘上直接读写的,2005可能会好些,但没试过
lzp4881 2009-08-23
  • 打赏
  • 举报
回复
1,调用没有参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"
conn.Open strconn
set cmd.ActiveConnection=conn
cmd.CommandText="{call nono}"

'set rs=cmc.exe 或者cmd.execute

set rs=cmd.Execute()

%>
2,一个输入的参数的存储过程
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{call oneinput(?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger ,adParamInput )
cmd("@aaa")=100

cmd.Execute()

%>
3,一个输入参数和一个输出的参数
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText = "{call oneinout(?,?)}"
cmd.Parameters.Append cmd.CreateParameter("@aaa",adInteger,adParamInput)
cmd("@aaa")=10
cmd.Parameters.Append cmd.CreateParameter("@bbb",adInteger,adParamOutput)

cmd.Execute()

bbb=cmd("@bbb")
%>
4,一个输入参数,一个输出参数,和一个返回值
<%
set conn=server.CreateObject("adodb.connection")
set cmd=server.CreateObject("adodb.command")
strconn="dsn=pubs;uid=sa;pwd"

conn.Open strconn
set cmd.ActiveConnection=conn

cmd.CommandText="{?=call onereturn(?,?)}"

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)

cmd.Execute()

bbb=cmd("@bbb")
rrr=cmd("@return_value")
%>
y34ml 2009-08-22
  • 打赏
  • 举报
回复
是CreateParameter参数
cinside 2009-08-22
  • 打赏
  • 举报
回复
我想知道2楼 开始处 定义 那么多 常量 是干什么的??
y34ml 2009-08-22
  • 打赏
  • 举报
回复

Const adCmdStoredProc = &H0004
Const adParamInput = 1
Const adParamOutput =2
Const adVarChar = 200
Const adNumeric = 20
Const domain = "www.0551.us"
Const ConnStr = "driver={SQL Server};server=(local);uid=sa;pwd=sa;database=zhanzhang;"
dim l1
Set MyComm = Server.CreateObject("ADODB.Command")
with MyComm
.ActiveConnection = ConnStr
.CommandText = "myfocus_arts"'存储过程名称
.CommandType = 4'4说明是存储过程
.Prepared = true
.Parameters.Append .CreateParameter("RETURN",2,4)'是存储过程返回值
.Parameters.Append .CreateParameter("@id",adNumeric,adParamInput)'参数可以参照
CreateParameter
.Parameters("@id") = uid
set rs = .Execute'带返回数据集的用set 不带可以直接用.Execute'
l1 = MyComm("RETURN") '这里是存储过程返回值
end with

hql5202004 2009-08-22
  • 打赏
  • 举报
回复
建立一个conn
建立一个cmd
设置一个cmd 相关属性 (你的相关属性可以在这设置)
最后执行cmd 命令
呵呵.

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧