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