Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Профи помогите советом начинающему в ADO / 7 сообщений из 7, страница 1 из 1
02.09.2005, 13:10:20
    #33248206
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
Есть форма, на ней грид (ADO), и дата контрол ADODC.
В гриде делаем привязку к ADODC, чтобы он отображал данные.
Теперь код формы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Public adoCnn As New ADODB.Connection
Public rsDict As New ADODB.Recordset

Form_Load()
    adoCnn.ConnectionString = "Provider=MSDAORA;Password=1;User ID=1;Data Source=Db"
    adoCnn.Open

    strSQL = "select * from Table1"
    rsDict.Open strSQL, adoCnn

    Set ADODC1.Recordset = rsDict

End Sub

Т.е. что получается создается объект rsDict ADODB.Recordset, который затем открываем. После присваиваем ссылку на этот рекордсет объекту ADODC1.
Получается две ссылки на один рекордсет. Это правильный подход?
Или можно непосредственно в ADODC сразу открыть рекордсет, не прибегая к rsDict? И если можно то как это правильно сделать?
...
Рейтинг: 0 / 0
02.09.2005, 13:21:21
    #33248246
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
KroketТ.е. что получается создается объект rsDict ADODB.Recordset, который затем открываем. После присваиваем ссылку на этот рекордсет объекту ADODC1.Получается две ссылки на один рекордсет.

И где вы здесь две ссылки разглядели?
Kroket
Или можно непосредственно в ADODC сразу открыть рекордсет, не прибегая к rsDict?
Нельзя.
...
Рейтинг: 0 / 0
02.09.2005, 13:38:57
    #33248300
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
Спасибо за ответ.

Под двумя ссылками я имел в виду следующее. Когда мы открываем объект rsDict в памяти у нас создается структура представляющая собой рекордсет.
Затем мы присваиваем Set ADODC1.Recordset = rsDict. Теперь мы можем работать с рекордсетом как с помощью объектной переменной rsDict, так и с ADODC:

rsDict.MoveNext
ADODC.MoveNext

не важно какую переменную мы будем использовать, но если я правильно понимаю и в том и другом случае работа будет производится с одной и той же структурой? Может быть название ссылка здесь не совсем удачное.

И еще не подскажете как определить открыт рекордсет в настоящее время или нет?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public rsDict As New ADODB.Recordset 

Form_Unload()
if not (rsDict Is Nothing) then
     rsDict.Close
     set rsDict = Nothing
endif
End Sub

Такой код не катит, так rsDict не Nothing, как я понимаю потому что был создан оператором New. А анализ нужен, так как при открытии формы рекордсет может открыться, а может и нет. Например если прав у пользователя нет.
...
Рейтинг: 0 / 0
02.09.2005, 13:56:03
    #33248345
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
Код: plaintext
If rsDict.State =adStateOpen then rsDict.Close
...
Рейтинг: 0 / 0
02.09.2005, 14:32:02
    #33248493
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
Сасибо большое
...
Рейтинг: 0 / 0
02.09.2005, 14:33:23
    #33248498
Kroket
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
в смысле спасибо
...
Рейтинг: 0 / 0
05.09.2005, 09:43:25
    #33250757
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Профи помогите советом начинающему в ADO
Глюкавый ADODC в бобруйск, привязывай к гриду сам рекордсет.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Профи помогите советом начинающему в ADO / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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