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

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

Как вставить запись в середину таблицы? [D6, dBase, FoxPro]


victo73 ©   (2002-05-27 01:33:00) 

Мне необходимо добавить запись в указанную позицию таблицы.
но по выполнению команды POST запись почему то перебрасывается в конец таблицы.Почему и как это можно обойти. За ранее спасибо.
Таблица DBASE IV


Johnmen   (2002-05-28 11:33:00) [1]

>...в середину таблицы...

Как только опишешь критерий середины, так в тот же час и вставишь...:)))

>...в указанную позицию таблицы...

Ну таки укажи ея ! И вставляй...:)))


-=CrazyFish=-   (2002-05-28 11:17:00) [2]

> fnatali ©
Insert не поможет


dimis   (2002-05-28 08:47:00) [3]

Сергей Суровцев : ты совершенно не прав
запись не всегда добавляется в конец таблицы. это частный случай.
гарантию дать на это не возможно даже для парадокса. к тому же есть такая штука как фрагментация и это может серьезно повлиять на вставку записей.
victo73: даже не думай о физ. структуре


Сергей Суровцев   (2002-05-28 00:53:00) [4]

Надо, так надо. Автоматом это не выйдет, запись всегда добавляется в конец, но можно создать вторую базу, скачать в нее
запист до добавляемой, потом эту запись, а потом остальные до конца. Выглядет страшновато, но работает достаточно быстро, по крайней мере для 10000 записей. Можно проиндексировать базу, а потом скачать в пустую в индексированом порядке. Но если физическое положение записи не критично, лучше все-таки индексы.



Proton   (2002-05-27 09:57:00) [5]

Дабавляет он куда ему удобнее а вот порядок в котором он показывает можно изменить.
Помниш компьютеры типа Дельта С - старые приставки - клавиатуры к телевизору - они еще без флопа были - грузились с магнитофона?
Так вот на них стаял на столько же древний BASIC.
Так вот код там писался в таком виде
10 строка 1
20 строка 2
30 строка 3
и т. д. ну а если очень мало то 100 200 300 и т.д.
Так вот создай индекс на столбец строк - он тебе отсортирует его (точнее будет показывать в этом виде). А потом определяй место где надо добавить эту запись и вставляй ее - т.е. если надо вставить между 100 и 200 то вставляй строку с кодом 150.


dimis   (2002-05-27 08:39:00) [6]

есть такое понятие "реляционная модель". Пользоветель абстрагируется от физической конструкции базы данных. Это правильно. Возможно ты найдель способ для Dbase IV, но при модернзации программы могут возникнуть проблемы.
Используй рекомендации fnatali


fnatali   (2002-05-27 06:15:00) [7]

С чем связано подобное требование? Чаще всего физическое местонахождение записи не имеет никакого значения - для отображения в нужном порядке применяют индексы, фильтры и т.п. Но если действительно НАДО, то попробуй использовать insert.


Наверх

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