Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Параметризированный запрос / 9 сообщений из 9, страница 1 из 1
06.07.2004, 12:36
    #32591069
Ouvee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Привет всем!

Я использую ADODB.Recordset на базе MS Access Query все бы ничего, но понадобилось передавать параметр в Query. Если я бы работал в срелде MS Access, то нет проблем передать этот параметр сославшись например на поле формы параметров, но можно ли это сделать из MS Visual Basic 6.0?


Заранее спасибо!
...
Рейтинг: 0 / 0
06.07.2004, 13:01
    #32591169
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
...
Рейтинг: 0 / 0
06.07.2004, 15:53
    #32591704
Ouvee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Насколько я понимаю Execute c параметром adCmdStoredProc может вызывать Stored Procedures, но в MS Access нет такого понятия как Stored Procedure !?
...
Рейтинг: 0 / 0
06.07.2004, 16:35
    #32591850
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Это работает в Access. zFindTrd- имя запроса, которому в качестве параметра передаётся значение текстового поля. Stored Procedure в Access нет, но ADO работает с запросами Access точно так-же, как и с сохранёнными процедурами MsSQL (интерфейс одинаковый)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private zFind As ADODB.Recordset
Private CmPro As ADODB.Command

Private Sub Form_Load()
    Set CmPro = New ADODB.Command
    CmPro.ActiveConnection = CurrentProject.Connection
    InitBrowser
End Sub

Private Sub txtFind_Change()
    CmPro.CommandText = "zFindTrd"
    CmPro.CommandType = adCmdStoredProc
    CmPro.Parameters.Refresh
    Set zFind = CmPro.Execute(, Me.txtFind.Text & "%")
    If zFind.EOF = False Then
        Call.AddLog
    Else
        Call.WriteBr
    End If
End Sub
...
Рейтинг: 0 / 0
06.07.2004, 17:41
    #32592007
Ouvee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Спасибо, попробую...

можешь привести кусок текста Query, где этот параметр используется...
меня интересует синтаксис...
...
Рейтинг: 0 / 0
06.07.2004, 18:40
    #32592153
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Код: plaintext
1.
2.
3.
PARAMETERS StrFind Text (  255  );
SELECT TOP  25  Tb.TbNx AS FindID, Tb.TbNmR AS FindNm
FROM Tb
WHERE (((Tb.TbNmR) Like [StrFind]));
...
Рейтинг: 0 / 0
07.07.2004, 11:14
    #32592884
Ouvee
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Получилось....
но возникла другая проблемa, когда прога пытается выполнить последнюю строчку (инициализировать DataSource oбъекта DataGrid) то выдается ошибка:

The rowset is not bookmarkable.

Как это можно поправить?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
        Dim Cmd As New ADODB.Command
        Dim DateFrom As Date
       
        
        DateFrom = # 1 / 1 / 2001 #
        
        Cmd.ActiveConnection = Cn
        Cmd.CommandText = "QRY1"
        Cmd.CommandType = adCmdStoredProc
        Cmd.Parameters.Refresh
        Set rs = Cmd.Execute(, DateFrom)

        Set DataGrid.DataSource = rs


И еще, я не совсем понял как передовать несколько параметров выполняя Cmd.Execute?


Заранее спасибо!
...
Рейтинг: 0 / 0
07.07.2004, 13:47
    #32593355
marvan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
по поводу The rowset is not bookmarkable
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/VB_Databases/Q_20695230.html
несколько параметров: Set rs = Cmd.Execute(, Array(DateFrom1, DateFrom2))
...
Рейтинг: 0 / 0
08.07.2004, 01:49
    #32594379
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметризированный запрос
Код: plaintext
cnn.Execute "qryQuery 'Моск'"
Только смеяться не надо - попробуйте :))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Параметризированный запрос / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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