【问题标题】:How to use a rdo connection in stored procedure如何在存储过程中使用 rdo 连接
【发布时间】:2011-11-21 18:49:01
【问题描述】:

使用 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

谁能提供将参数值传递给存储过程的示例代码?

【问题讨论】:

    标签: stored-procedures vb6 rdo


    【解决方案1】:

    来自 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
    

    【讨论】:

    • 我不想创建查询,只是想将参数值传递给存储过程。
    • @Gopal,创建查询是将参数传递给存储过程的方式。例如- QSQL$ = "{ ? = call sp_my_stored_proc (?, ?) }"
    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    相关资源
    最近更新 更多