Как использовать соединение rdo в хранимой процедуре - PullRequest
0 голосов
/ 21 ноября 2011

Использование 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 голосов
/ 22 ноября 2011

Из MSDN:

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

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

QSQL $ = "ВЫБРАТЬ * ОТ АВТОРОВ, ГДЕ Au_Lname =?"

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

Set 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...