![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непонятки с счетчиком [D6, dBase, FoxPro]
Sharn © (2008-01-10 21:31:00)Ситуация:
Есть 50 записей в таблице. Запросом добаляю ещё одну. Записей 51. Делаю выборку по этой таблице select *...
Через AdoQuery. Хочу вытащить последнюю запись:
DataModule3.ADOQueryDVK.Last;
Kod:=DataModule3.ADOQueryDVK.fieldbyname('код').AsString;
В код Kod попадает данные из 50 записи..
Далее происходит ошибка так как данные Kod должны попасть в другую таблицу, а там уже есть данные из 50..
Перезапускаю программу, все по новой. в Таблице 52 записи, выборка, и опять в Kod попадают данные из 50 записи..
Никаких сортировок и прочего, код это счетчик.
Все это испраляется очисткой базы :) но хотелось узнать как этот баг недопустить :) уже второй раз так выскакивает.
Anatoly Podgoretsky (2008-01-11 00:19:00) [1]> Johnmen (10.01.2008 23:41:03) [3]
В dBase известно, начиная с 7
Johnmen (2008-01-10 23:41:00) [2]Азы теории БД говорят, что такого понятия, как "порядок" записей таблицы не существует.
Но получаемый запросом НД м.б. упорядочен, о чем уже сказали.
А в целом, для получения последнего актуального значения счетчика используются др. методы, зависящие от типа БД.
Что такое счетчик в дибейсе или фоксе науке не известно :)
Desdechado (2008-01-10 22:52:00) [3]ORDER BY не забывай.
Сервер имеет права вернуть записи в произвольном порядке, если ты не просишь сортировать.
Евгений Р. (2008-01-10 21:34:00) [4]Не работал с ADO, но может там есть что-то типа commit