Как использовать соединение 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 ответ

Решение

Из MSDN:

Запрос параметров просто заменяет пользовательские или прикладные параметры в обычный запрос. Хотя этот запрос обычно является оператором SELECT, это также может быть запрос INSERT, UPDATE или DELETE. В следующем примере показано, как кодировать простой запрос SELECT с одним параметром. Запрос ищет авторов по имени из образца базы данных Pubs.

Сначала настройте SQL-запрос, который помечает каждый параметр с помощью? маркер параметров.

QSQL $ = "SELECT * FROM Авторы, ГДЕ Au_Lname =?"

Затем создайте объект rdoQuery для управления запросом и его параметрами.

Установить PSAuthors = cn.CreateQuery("",QSQL$)

Затем используйте следующий код, чтобы вставить значение, введенное пользователем (Text1.Text) в запрос.

PSAuthors.rdoParameters (0) = Text1.Text

Вы можете найти полную страницу здесь

Ваш код (синтаксис 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
Другие вопросы по тегам