![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
Igor Graf |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 10.2.2005 Репутация: нет Всего: нет |
Привет всем большой!
У меня появился один, наверное простой вопрос, но че-то я никак не могу понять как это сделать, задача такая: Значит есть у меня бд, с данными, я подключаю
ну значит данные выбираются и выводятся на форму, теперь надо предусмотреть тот момент, когда данных нет, я делаю так:
но че-то он этоусловие проскакивает, как быть, подскажите с уважением Graf |
||||
|
|||||
Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Что такое
Если реч идет об отсутствии записей в таблице, то нужно пользоватся свойствами RecordCount и EOF объекта Recordset. Если говорить о незаполненных полях, то инструкция is nothing не сработает. Она служит для проверки содержания Объекта! Проверяй через Is Null и/или Len(Trim$(data2.recordset.fields!fileldsname)) = 0 -------------------- Я желаю всем Счастья! |
|||
|
||||
Igor Graf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 10.2.2005 Репутация: нет Всего: нет |
Naghual спасибо, за помощь! В данном случае речь идет именно об отсутствии записи в таблице info, из которой я выбираю записи. Буду пробовать RecordCount Еще раз спасибо С уважением Graf |
|||
|
||||
Гость_boevik |
|
|||
Unregistered |
Проверяй рекордсет на EOF и BOF. Так как RecordCount не всегда дает верную информацию
|
|||
|
||||
Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Гость_boevik :
Это когда-же RecordCount дает не верную информацию? -------------------- Я желаю всем Счастья! |
|||
|
||||
boevik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
К примеру самый простой случай когда все параметры берутся по умолчанию:
Во всех случаях, не зависимо есть данные или нет, recordcount равен -1. Выдержка из MSDN:
-------------------- Никогда не говори никогда |
||||
|
|||||
Igor Graf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 152 Регистрация: 10.2.2005 Репутация: нет Всего: нет |
Большое спасибо boevik, весьма понятно и доступно
С уважением Graf Это сообщение отредактировал(а) Igor Graf - 14.6.2005, 09:05 |
|||
|
||||
Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
boevik:
Вы батенька MSDN сильно далеко читаете! ![]() А там сказано, что RecordCount нужно использовать после инструкций MoveLast и MoveFirst. Вот тогда он не будет вызывать описанные Вами выше проблемы. Тоесть после каждого Открытия Recordset, добавления или удаления из него данных необходимо выполнять такой код:
И вот тогда RecordCount будет именно правильный. Говоря по большому счету, RecordCount они придумали только для удобства и в самый последний момент. И как всегда недоработали! ![]() А сами то пользуются EOF! -------------------- Я желаю всем Счастья! |
|||
|
||||
boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: 12 Всего: 35 |
Naghual,
1) ты просил пример когда RecordCount не работает, пример приведен. 2) Где сказано, что надо выполнять Recordset.MoveLast: Recordset.MoveFirst? 3) В примере приведенном Igor Graf, не используется Recordset.MoveLast: Recordset.MoveFirst, да и проблематично его выполнять на пустом recordset-e. 4) Не всегда можно выполнить Recordset.MoveFirst. (В случае когда CursorType = adOpenForwardOnly) Из все выше сказаного следует, что применять RecordCount довольно проблематично, но возможно. -------------------- Никогда не говори никогда |
|||
|
||||
Naghual |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1893 Регистрация: 15.5.2004 Где: Украина, Днепр Репутация: 26 Всего: 49 |
Согласен. Что тут скажеш.
-------------------- Я желаю всем Счастья! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "VB6" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | VB6 | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |