Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизПеремещение записи Найти похожие ветки
← →
Yuri Btr © (2004-03-03 18:49) [0]Ув. мастера, подскажите возможно ли перемещение записи в таблице Access (работа через ADO), допустим с последней позиции на n-ую позицию?
Дело в том, что по документации InsertRecord для таблиц Access он вставляет запись в конец таблицы. И что такое метод MoveBy?
Заранее спасибо.
← →
Anatoly Podgoretsky © (2004-03-03 18:50) [1]Чем быстрее ты заюудешь, что такое физическое расположение в служебных файлах базы, тем лучше для тебя будет.
← →
Плохиш (2004-03-03 18:55) [2]
> заюудешь
Во! даже АП заикаться начал
← →
Yuri Btr © (2004-03-03 19:08) [3]to Anatoly Podgoretsky ©
А как вы считаете, для чего реализован InsertRecord? и почему тогда не оставить только Appendrecord?
← →
Плохиш (2004-03-03 19:14) [4]
> Yuri Btr © (03.03.04 19:08) [3]
Ну, например, для совместимости со старыми версиями программ
← →
sniknik © (2004-03-03 19:19) [5]Yuri Btr © (03.03.04 19:08) [3]
почитай справку внимательно, там должно быть оговорено про sql-ные базы данных.
← →
Yuri Btr © (2004-03-03 19:19) [6]to Плохиш
???
← →
Плохиш (2004-03-03 19:19) [7]
> sniknik © (03.03.04 19:19) [5]
Не успел про справку :-))
← →
Yuri Btr © (2004-03-03 19:29) [8]to All
Первым делом я смотрю справку,..., в последнюю очередь - спрашиваю здесь.
В справке вот что
...
For unindexed dBASE, FoxPro, and Access tables, the record is inserted into the dataset at the end.
For SQL databases, the physical location of the insert is implementation-specific. For indexed tables, the index is updated with the new record information.
...
1 вариант для неидексированных ... Access таблиц - новая строка вставляется в конец.
2 вариант для SQL таблиц - зависит от реализации. Для индекированных таблиц индекс обновляется вместе с новой записью.
← →
Anatoly Podgoretsky © (2004-03-03 19:46) [9]Вот тебе и доказательство, что Insert для красоты, зватило бы и Append
← →
Yuri Btr © (2004-03-03 20:22) [10]Так значит нельзя...
Грустно, ну что же прийдётся вводить своё поле нумерации, со всеми вытекающими отсюда последствиями...
← →
Anatoly Podgoretsky © (2004-03-03 20:38) [11]Оно давно потеряло смысл с ростом баз и развитием индексации, ну представь себе вставку в начало таблицы скаэем в 1 миддион записей, да к тому эе физический порядок ни чего не значит, кроме последовательного добавления в конец и то в устаревших технологиях. Индексы и еще раз индексы.
← →
Yuri Btr © (2004-03-03 20:52) [12]to Anatoly Podgoretsky ©
Задача была такая...
Имеется несколько не очень больших списков имён файлов (10-100 шт, ну может до тысячи), у каждого имени файла своя информация, состоящая из нескольких полей (что то наподобие размер, тип и т.д.), эта информация строго упорядочена, т.е. место файла в списке имеет значение. Этот список нужно хранить на диске и часто к нему обращаться, если например пользователь надумает удалить файл, группу файлов или поменять местоположение файла, также нужно будет добавлять файлы. Что бы не морочить себе голову всякими текстовыми вариантами сохранения этих списков на диске, я решил взять access через ADO. Каждый список в своей отдельной таблице, поля чётко сформированны, заботиться о сохранении не надо. Но вот в одной статье прочитал что все ADO компоненты работают через ADOcommand - т.е. через SQL, а в SQL насколько я знаю вообще нет такого понятия как физическое положение записи в базе...
← →
Anatoly Podgoretsky © (2004-03-03 20:54) [13]Проблема в проектировании базы, если порядок имеет значение, значит должно быть поле порядок и по нему сортировка/выборка
← →
Yuri Btr © (2004-03-03 20:58) [14]ВОТ ИМЕННО, блин...
Это значительно усложняет всю работу. Ведь теперь чтобы удалить например запись с порядковым номером 30 при диапазоне номеров от 1 до 100, нужно перелопатить все записи в таблице (99 шт) и уменьшить номера записей (которые выше 30) на единицу.
← →
Anatoly Podgoretsky © (2004-03-03 21:05) [15]Тебе стоит почитать теорию баз
← →
Yuri Btr © (2004-03-03 21:05) [16]Также имеется проблема визуализации данных, раньше можно было например просто построчно (по записи) выводить инф.ю о каждом файле например в ListBox, порядок обеспечивался физ. расположением строки. Теперь нужно их считывать заранее во временный список, сортировать и выводить в ListBox...
← →
Zacho © (2004-03-03 21:11) [17]Зачем временный список ?
Индексы и еще раз индексы. (С) Anatoly Podgoretsky © (03.03.04 20:38) [11]
← →
Yuri Btr © (2004-03-03 21:20) [18]to Zacho ©
В смысле - внутренняя сортировка по индексу, а затем вывод уже в правильном порядке?
← →
Zacho © (2004-03-03 21:32) [19]Просто подключаешь нужный индекс, и записи в НД уже и так будут в "правильном" порядке
← →
Yuri Btr © (2004-03-03 21:36) [20]Также есть прекрасная ф-ия в SQl - ASC или DESC, и всё...
← →
Zacho © (2004-03-03 21:48) [21]Это не функция, а часть оператора SELECT
SELECT .. FROM .. ORDER BY .. [ASC|DESC]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.056 c