Как узнать, что в таблице нет данных??
Мне нужно, чтобы данных из таблицы зачитывались и вносились в поля ListEditor. Проблема в том, что, если таблица пустая, вылетает ошибка.
Как проверить есть ли в таблице информация или же таблица пустая (только что созданная или очищенная, к примеру)?
Данные извлекаются вот так:
DBDataModule->SectionIdListTable->Open();
DBDataModule->SectionIdListTable->First();
while (DBDataModule->SectionIdListTable->Eof!=true)
{
// остальной код, не влияющий на чистоту эксперимента :)
DBDataModule->SectionIdListTable->Next();
}
Все спасибо. Жду ответов.
Странный код :) :
..
Не логичнее написать так:
..
или вообще вот так:
..
Ну это, собственно к делу не относится.
Вообще никакой ошибки вылетать не должно и, ИМХО, не может!!
Если уж так сильно приспичет, то вот так:
..
..
Это плохой стиль программирования. Надо так:
Аргументируй, пжлста, свои высказывания!! Что именно 'плохо'?! Как приведенный мною код 'плохо' влияет на логику и быстродействие работы программы?!!:confused: :D
Аргументирую :)
такая запись != 0 значит, что переменная или больше нуля или меньше нуля, а такая запись > 0 значит, что переменная больше нуля. Какая запись логичней? :) Нам ведь нужно проверять условием, что в таблице содержится 1 или более записей, а не то что в таблице количество записей не равно нулю.
Конечно в данном конкретном случае значенее переменной меньше нуля не может быть в принципе, но не факт что она все-таки (возможно из-за ошибки программистов) примет значение меньше нуля, тогда рушится все твое условие и программа вылетает в ексепшн :)
поэтому это и считается плохим стилем (заметь, что я не говорю что так программировать не допускается вообще ;) ) возможно ты сейчас этого не понимаешь, но со временем поймешь :-)
такая запись != 0 значит, что переменная или больше нуля или меньше нуля, а такая запись > 0 значит, что переменная больше нуля. Какая запись логичней? :) Нам ведь нужно проверять условием, что в таблице содержится 1 или более записей, а не то что в таблице количество записей не равно нулю.
Конечно в данном конкретном случае значенее переменной меньше нуля не может быть в принципе, но не факт что она все-таки (возможно из-за ошибки программистов) примет значение меньше нуля, тогда рушится все твое условие и программа вылетает в ексепшн :)
поэтому это и считается плохим стилем (заметь, что я не говорю что так программировать не допускается вообще ;) ) возможно ты сейчас этого не понимаешь, но со временем поймешь :-)
Да, наверно, ты прав!
..
Смотря какая СУБД. Я сталкивался со случаями, когда RecordCount == 0 даже в непустых таблицах (курсорах), пока не сделаешь Table1->First();.
Я обычно делаю
{
/* ... */
}