Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как добавить запись в конец таблицы? [D6, Paradox]


kazaam ©   (2002-09-13 08:16:00) 

В таблице Paradox при добавлении записи, ее RecNo оказывается не наибольшим.
То есть запись добавляется не в конец таблицы.
Пробовал вводить автоинкрементное поле, но тогда из таблицы нельза удолять записи,
т.к. появляются "пробелы" в номерах.


kazaam   (2002-09-17 08:54:00) [1]

Ого, сколько понаписали :-) теперь буду разбираться с советами. Спасибо!


Виталий Панасенко   (2002-09-13 14:44:00) [2]

Если тебе нужно показать, КАКУЮ запись в КАКОЙ последовательности ты добавлял, то необходимо добавить поле TimeStamp и в OnNewRecord Tbl1TimeStampField.Value := Now, предварительно пострив по нему вторичный индекс и сделать его (индекс) активным.


Val   (2002-09-13 13:36:00) [3]

тем, что он добавляет в конец таблицы при неиндексированных таблицах, а не в середину,тем самым, не двигая записей, что несомненно сказывается на скорости работы.


VAleksey   (2002-09-13 13:18:00) [4]

2 Val © ты согласился со

> sniknik © (13.09.02 12:51)

а теперь твое утверждение

> При современном подходе к работе с БД этот метод добавления
> записи в таблицу предпочтительней .Insert"а.

???
Чем предпочтительней ?


Val   (2002-09-13 12:59:00) [5]

но для пользователя она будет видна как последняя.
вот об этом я и говорил - думаю, что уважаемые коллеги поняли это и предлагал не начинать ненужный спор. Потому что если уж совсем быть дотошным к слову "физически", то можно дойти и до размещения на диске, но в данном контексте это не имеет никакого значения, не правда ли?
>sniknik © (13.09.02 12:51)
согласен. тем более, работа без ключей подобна работе с типиз. файлами - кому это надо сейчас?


sniknik   (2002-09-13 12:51:00) [6]

согласен. но однозначности все одно нет, без ключа вообще с paradox редко работают. а с ключом по любому методу он впихнет запись в соответствии с ним. на 100% и на это надежды нет.


Max Zyuzin   (2002-09-13 12:49:00) [7]

Ну на сколько я понимаю куда физически добавится запись после append знает только тот кто делал этот самый paradox (физически я подразумеваю в какое место файла в начало, конец, середину..) но для пользователя она будет видна как последняя.


Val   (2002-09-13 12:19:00) [8]

>sniknik © (13.09.02 11:45)
ok, раз уж завелись :)
Запись добавится в конец неиндексированной paradox-таблицы при выполнении .Append(Help).
При современном подходе к работе с БД этот метод добавления записи в таблицу предпочтительней .Insert"а.
Автор говорит именно о добавлении, не так ли?


sniknik   (2002-09-13 11:45:00) [9]

Почему не будем? довольно интересно, если в Paradox таблицу вставляется запись и попадает она на место ранее удаленной (физически например в начале) то какой у нее будет RecNo?
и вообще можно на этом тогда какой нибудь анализ делать?

насчет именно в конец - была бы таблица dBase то это бы было правдой а так ...


Val   (2002-09-13 11:19:00) [10]

>Anatoly Podgoretsky © (13.09.02 11:10)
не будем такими дотошными :)


Anatoly Podgoretsky   (2002-09-13 11:10:00) [11]

Я вообще бы не стал делать никаких предположений в какое физическое место будет записана запись


REA   (2002-09-13 11:07:00) [12]

См. мой вопрос про "нумерованную таблицу" в форуме. Видимо тема где-то рядом. RecNo придется не использовать, а вместо него брать значение индекса.


Val   (2002-09-13 10:33:00) [13]

:)) конечно RecNo в индексированом наборе показывает место записи в соответствии с индексом. Физически же запись добавляется именно в конец таблицы.


Виталий Панасенко   (2002-09-13 08:44:00) [14]

Я, конечно, прошу прощения, но если есть Primary-индекс, то ему все равно на "Table1.Last;
Table1.Insert;
...........
Table1.Post;"
и "Append или AppendRecord" - по нему выстроится так, КАК ЕМУ надо (т.е. так как нужно)


Max Zyuzin   (2002-09-13 08:30:00) [15]

Append или AppendRecord тебе поможет


ghost_by   (2002-09-13 08:23:00) [16]

А ты попробуй перед добавлением деать таблице Last:

Table1.Last;
Table1.Insert;
...........
Table1.Post;


Наверх

Титульная страница Поиск, карта сайта Написать письмо