Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как понять, что рекордсет нуждается, в update 
:(
    Опции темы
Тутанхамец
Дата 31.8.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



Здравствуйте. Проблема в следующем. Есть ADO Data Control и подключенный к нему ComboBox. В процессе работы ADODC закрывается вот так:

Код

If Not (.Recordset Is Nothing) Then .Recordset.Close


После выбора значения в ComboBox вылезала ран-тайм еррор, что "операция недопустима в данном контексте". Это происходило из-за того, что рекордсет ADODC не успевал обновляться значением комбобокса, а необновленный похоже закрыть нельзя. Вызов метода update перед close решил проблему. Но я не хочу обновлять рекордсет КАЖДЫЙ РАЗ. Только, если ему это надо. Так вот как проверить, нуждается ли рекордсет в update?

Заранее благодарен.
PM MAIL   Вверх
mihanik
Дата 31.8.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



В голову пришло прямолинейное, как бревно

on error goto
или 
on error resume next


Цитата(Тутанхамец @  31.8.2006,  15:12 Найти цитируемый пост)
Но я не хочу обновлять рекордсет КАЖДЫЙ РАЗ

Наверное, это правильно.
На обновление много времени уходит...



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Тутанхамец
Дата 31.8.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6




Код

on error resume next

Так он, в случае ошибки, тогда и не закроется. А мне-то надо, чтоб закрывался. А если другая какая-то ошибка произойдет? И update вызывать каждый раз нельзя, т.к. в некоторых случаях и этот метод порождает ошибку. Нет, тут надо нежнее. 

Есть свойство .State, но в MSDN оно не слишком подробно описано... кто-нибудь знает, какие должны быть значения у state, если рекордсет нуждается в обновлении из-за связанного контрола?
PM MAIL   Вверх
mihanik
Дата 31.8.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Ты ЗДЕСЬ смотрел?

Там и пример на бейсике есть!



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Тутанхамец
Дата 31.8.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: 4
Всего: 6



Пардон. Я имел в виду свойство status, а не state. Но и насчет status - не уверен, что его можно юзать для этого.

Добавлено @ 16:09 
Не въезжаю, в общем. ((

Добавлено @ 16:16 
Нашел:

Код

 adcQs.Recordset.Bookmark = adcQs.Recordset.Bookmark
adcQs.Recordset.Close


Хотя вышуказанное мне не очень нравится. Предпочел бы что-нибудь "официально одобренное" Microsoft'ом. Типа специальное свойство или метод. Кто знает вариант получше - буду благодарен.

Добавлено @ 16:18 
Не, даже вот так:

Код

 If Not (.Recordset.BOF) And Not (.Recordset.EOF) Then adcQs.Recordset.Bookmark = adcQs.Recordset.Bookmark
adcQs.Recordset.Close


Лажовый код. Вроде работает, но, возможно, только до поры. 

Это сообщение отредактировал(а) Тутанхамец - 31.8.2006, 16:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0457 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.