C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Работа с файлом *.mdb
SunDevil
Отправлено: 28.04.2006, 16:13


Не зарегистрирован







ВСЕМ ПРИВЕТ!
Вот есть у меня аксесовская база. Я к ней коннекчюсь и в DBGrid1 у меня отображается содержимое БД. У меня на форме есть кнопка для удаления записей из БД. Мне надо сделать условие проверки наличия записей в этой БД. На форме у меня есть ADOTable1. Я так подозреваю, что проверка связана с ней. Подскажите, пожалуйста, как сделать так, что если нет записей в БД, то выводилось сообщение?
БОЛЬШОЕ СПАСИБО!
Миshук
Отправлено: 28.04.2006, 19:09


Дежурный стрелочник

Группа: Участник
Сообщений: 36



Приветствую!
QUOTE
Мне надо сделать условие проверки наличия записей в этой БД. На форме у меня есть ADOTable1. .....Подскажите, пожалуйста, как сделать так, что если нет записей в БД, то выводилось сообщение?

Наверное имелось в виду в таблице? тогда можно так
CODE

   if(ADOTable1->IsEmpty == true) // dataset пуст
   else //что-то там есть
SunDevil
Отправлено: 28.04.2006, 21:35


Не зарегистрирован







Да, имелась ввиду конечно ADOTable1! Спасибо тебе большое. Но вот меня еще какой волнует вопрос. Как мне сделать поиск по этой БД. Мне надо, чтобы ввели текст в Edit1, нажали кнопку и в DBGrid1 выбралась бы эта запись. КАК? СПАСИБО!
SunDevil
Отправлено: 29.04.2006, 16:28


Не зарегистрирован







И еще вот такой вопрос. Как сделать сортировку в ADOTable1? Ну, чтобы когда в БД добавлялись записи, то они по алфавиту были расположены. СПАСИБО!
Valdemar
Отправлено: 02.05.2006, 09:21


Мастер участка

Группа: Участник
Сообщений: 433



По поводу поиска смотрите хелп по вашим компонентам доступа, например, посмотрите метод Locate.
Для сортировки используйте индексы или запросы, в которых указывайте порядок сортировки.
SunDevil
Отправлено: 03.05.2006, 23:08


Не зарегистрирован







Вот такая теперь проблема, правда уже не с поиском. Когда я проверяю условие
if (Edit1->Text==Form1->ADOTable1->FieldByName("Название")->AsString)
то программа-то его проверяет, но сверяет с той записью, которая выбрана в ADOTable, а не со всеми. А мне надо, чтобы она прасматривала все записи и выполняла условие. Иначе получается беспредел! Спасибо вам!
Guest
Отправлено: 04.05.2006, 07:59


Не зарегистрирован







QUOTE (SunDevil @ 03/05/2006, 23:08)
Вот такая теперь проблема, правда уже не с поиском. Когда я проверяю условие
if (Edit1->Text==Form1->ADOTable1->FieldByName("Название")->AsString)
то программа-то его проверяет, но сверяет с той записью, которая выбрана в ADOTable, а не со всеми. А мне надо, чтобы она прасматривала все записи и выполняла условие. Иначе получается беспредел! Спасибо вам!

Dataset работает с текущей (иначе активной) записью.
А то что вам нужно — это называется фильтр (в реальной жизни лучше не использовать smile.gif ).
Самое разумное — переходить на запросы.
SunDevil
Отправлено: 04.05.2006, 10:54


Не зарегистрирован







А можете пояснить поподробнее, а то я чего-то не понимаю sad.gif
Guest
Отправлено: 04.05.2006, 11:54


Не зарегистрирован







Что подробнее?
Фильтр — смотрите хелп для AdoTable

Вернуться в Работа с базами данных в C++Builder