powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Ёкселе к RecordSet подвязать переменные запроса?
4 сообщений из 4, страница 1 из 1
Как в Ёкселе к RecordSet подвязать переменные запроса?
    #33233797
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Sql As String
Set Cn = New ADODB.Connection
Cn.Open "Provider=MSDAORA;Data Source=***;User ID=***;Password=***"
Set Rs = New Recordset
Sql = " SELECT 1 id from dual where :p_param=1"
Rs.Parameters.Append.CreateParameter (":p_param", adInteger) ' здесь ругается, что нет такого свойства - Parameters
Rs.Open Sql, Cn, adOpenStatic, adLockReadOnly, adCmdText
И еще:
у меня ругается на adInteger в строке
Rs.Parameters.Append.CreateParameter (":p_param", adInteger )
даже для случая Rs As ADODB.Command
Подключен Microsotf ActiveX DataObjects 2.7 Library
----------------
Я в Ёкселе и в АДО не очень, sorry.
...
Рейтинг: 0 / 0
Как в Ёкселе к RecordSet подвязать переменные запроса?
    #33237303
Smiler™
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"..здесь ругается, что нет такого свойства - Parameters..." -правдиво ругаеться.
...
Рейтинг: 0 / 0
Как в Ёкселе к RecordSet подвязать переменные запроса?
    #33238050
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
    Dim cn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim cmd As New ADODB.Command
    Dim par As New ADODB.Parameter
    
    cn.Open "Provider=MSDAORA;Data Source=***;User ID=***;Password=***"
    
    cmd.CommandText = "SELECT * FROM Table1 WHERE Id=?"
    cmd.CommandType = adCmdText
    
    Set par = cmd.CreateParameter("Param", adInteger, adParamInput,  1 ,  2 )
    cmd.Parameters.Append par
    ' SELECT * FROM Table1 WHERE Id=2
    
    cmd.ActiveConnection = cn
    Set rs = cmd.Execute
    
    Range("A1").CopyFromRecordset rs
...
Рейтинг: 0 / 0
Как в Ёкселе к RecordSet подвязать переменные запроса?
    #33238147
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2
Код: plaintext
    cmd.CommandText = "SELECT * FROM Table1 WHERE Id=?"
Спасибо, но такой метод указания параметров в реальной жизни годится только тогда, когда их максимум штук 2. Когда их штук 10..20, сопровождение такого запроса превращается в муку. В Оракле (и не только) применяется более продуктивный способ - параметры по имени.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Ёкселе к RecordSet подвязать переменные запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]