如何在存储过程中使用rdo连接

时间:2011-11-21 18:49:02

标签: stored-procedures vb6 rdo

使用VB6和SQL Server 2000

我想使用rdo连接将值传递给存储过程。

我知道存储过程和rdo连接字符串,但我不知道如何通过rdo连接将参数值传递给存储过程。

尝试代码

Dim rsql As rdoQuery
                'Set rsql = rdovispay
                rsql.rdoParameters ("Storeprocedure1")
                rsql.rdoParameters(0).Direction = rdParamReturnValue
                rsql(1) = Eid
                rsql.Execute

任何人都可以提供用于将参数值传递给存储过程的示例代码吗?

1 个答案:

答案 0 :(得分:0)

来自MSDN:

  

参数查询只是将用户提供的或应用程序提供的参数替换为普通查询。虽然此查询通常是SELECT语句,但它也可以是INSERT,UPDATE或DELETE查询。以下示例说明如何使用单个参数对简单的SELECT查询进行编码。该查询按名称从Pubs示例数据库中查找作者。

     

首先,设置一个SQL查询,使用?标记每个参数?参数标记。

     

QSQL $ =“SELECT * FROM Authors WHERE Au_Lname =?”

     

接下来,创建一个rdoQuery对象来管理查询及其参数。

     

设置PSAuthors = cn.CreateQuery(“”,QSQL $)

     

接下来,使用以下代码将用户输入的值(Text1.Text)插入查询中。

     

PSAuthors.rdoParameters(0)= Text1.Text

您可以找到完整页面here

您的代码(ODBC语法)将被修改为:

Dim rsql As rdoQuery
Dim QSQL as string

' if your data source is ODBC then use the ODBC syntax
'QSQL$ = "{ ? = call Storeprocedure1 (?) }"

' if your data source is SQL, then use the SQL syntax
'QSQL$ = "Execute Storeprocedure1 ?"

Set rsql = Connection.CreateQuery("", QSQL$)
rsql.rdoParameters(0).Direction = rdParamReturnValue
rsql(1) = Eid  ' set the input parameter
rsql.Execute