Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Ёкселе к RecordSet подвязать переменные запроса? / 4 сообщений из 4, страница 1 из 1
25.08.2005, 12:26:26
    #33233797
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Ёкселе к RecordSet подвязать переменные запроса?
Код: 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
27.08.2005, 13:06:44
    #33237303
Smiler™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Ёкселе к RecordSet подвязать переменные запроса?
"..здесь ругается, что нет такого свойства - Parameters..." -правдиво ругаеться.
...
Рейтинг: 0 / 0
29.08.2005, 09:27:26
    #33238050
Как в Ёкселе к RecordSet подвязать переменные запроса?
Код: 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
29.08.2005, 10:27:02
    #33238147
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как в Ёкселе к RecordSet подвязать переменные запроса?
Пользователь2
Код: plaintext
    cmd.CommandText = "SELECT * FROM Table1 WHERE Id=?"
Спасибо, но такой метод указания параметров в реальной жизни годится только тогда, когда их максимум штук 2. Когда их штук 10..20, сопровождение такого запроса превращается в муку. В Оракле (и не только) применяется более продуктивный способ - параметры по имени.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как в Ёкселе к RecordSet подвязать переменные запроса? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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