ASP存储过程详解:无参、单输入与双向参数操作

0 下载量 118 浏览量 更新于2024-08-29 收藏 74KB PDF 举报
本文档详细介绍了在ASP(Active Server Pages)环境中如何利用ADO(ActiveX Data Objects)来执行SQL Server存储过程。以下是主要内容的深入解析: 1. **无参数存储过程调用**: 在ASP代码中,首先创建`ADODB.Connection`对象(`setconn=server.CreateObject("adodb.connection")`)和`ADODB.Command`对象(`setcmd=server.CreateObject("adodb.command")`)。接着,设置数据库连接字符串`strconn`(如DSN pubs、用户名sa和密码),然后打开连接(`conn.Open strconn`)。接下来,设置命令对象(`setcmd.ActiveConnection=conn`)并设置存储过程的名称(例如`cmd.CommandText = "{call nono}"`)。虽然代码中提到`setrs=cmc.exe`或`cmd.execute`,但在实际操作中,通常使用`cmd.Execute()`来执行存储过程,获取结果集(`setrs`)。 2. **单个输入参数存储过程**: 当需要向存储过程传递数据时,可以在命令对象的`CommandText`属性中使用参数占位符(如`{call oneinput(?)}`),然后使用`cmd.Parameters.Append`方法添加参数。此处示例中的参数类型为整数(`adInteger`),输入模式为`adParamInput`,并将参数值设置为100(`cmd("@aaa")=100`)。最后,执行存储过程(`cmd.Execute()`)。 3. **输入参数和输出参数结合**: 更复杂的情况下,存储过程可能既接受输入参数也返回值。在这个例子中,通过两次`cmd.Parameters.Append`分别添加输入参数`@aaa`(同样为整数类型)和输出参数`@bbb`(输出类型为`adInteger`,输入模式为`adParamOutput`)。执行存储过程后,输出参数的值可以通过`cmd("@bbb")`访问,但通常在存储过程结束后需要进行进一步处理。 这些ASP代码片段展示了如何在ASP应用程序中有效地与SQL Server的存储过程进行交互,包括处理不同类型的参数和调用存储过程。熟练掌握这些技术对于开发需要与数据库交互的ASP应用至关重要,能够提高代码的可维护性和性能。同时,注意处理存储过程的异常和错误处理,确保数据的安全性。