|
#1
|
|||
|
|||
adotable+accsess
Есть таблица в акцес, подключеная к делфи через адотейбл.
пишу form1.adotable10.recno:=1; showmessage(form1.adotable10.fields .fields[0].asstring); выдает мне не первую запись а десятую, также пробовал form1.adotable10.First; showmessage(form1.adotable10.fields .fields[0].asstring); тоже самое. в таблице записи одинаковые, у первой счётчик 506, у десятой 515. В чем загвоздка? |
#2
|
|||
|
|||
Ну так отсортируй их.
Если не ошибаюсь - достаточно указать поле, по которому у тебя индекс есть (в соотв. св-ве). |
#3
|
|||
|
|||
Цитата:
Просто нужно понять почему в таблице физически первая запись одна, а ADOtable выдаёт другую. Кто сталкивался напишите. Спасибо. |
#4
|
|||
|
|||
Потому что стандартом не регламентируется порядок записей.
Т.е. тебе никто не гарантирует какую-либо последовательность записей. Что бы получить записи в определенном порядке, тебе надо приложить некоторые усилия - либо ORDER BY в запросе, либо указание индекса в таблице. |
#5
|
|||
|
|||
Цитата:
Цитата:
|
#6
|
|||
|
|||
Нет, все нормально. Просто с точки зрения СУБД все записи равнозначны. поэтому порядок их и не определен. Почитай какую-нить толковую книжку про SQL. А в конец добавляет - потому что это уже работа в памяти.
Хотя, обычно СУБД сортирует по первичному ключу. |