Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизЛетит база от ShotDown, глюк сортировки, неверная сортировка Найти похожие ветки
← →
Bee-Bee © (2006-02-24 10:53) [0]Такой глюк! Заносятся значит в DB записи, мнооого записей! После чего Чубайс дергает рубильник и свет выключается! И вот тут то я понимаю (после очередного запуска программы), что надо вводить все заново!!!! как можно этого избежать! или в крайнем случаи востановить базу данных каким то образом???
И ишо вопрос! надо сделать автоматическую сортировку записей! Ключевое поле отпадает сразу т.к. есть совпадения! Индексированное поле вообще запрещает редактировать базу! сортировка програмным путем долгая и не всегда эффективная! что делать???
Да ишо!!! при ключевом (уникальном) поле в таблице сортировка происходит по возрастанию! Пробовал изменить сортировку в TTable, не выходит!!! Подскажите что делать!!!
← →
Desdechado © (2006-02-24 11:10) [1]> свет выключается! как можно этого избежать
Поставить генератор и/или UPS. Вот если б сгорела мамка, ты какие вопросы задавал бы?
> Индексированное поле вообще запрещает редактировать базу!
Наглая деза. Использовать TQuery+TUpdateSQL. Индекс может быть как по возрастанию, так и по убыванию, а также по нескольким полям.
PS и не надо так орать
← →
Neo Trinitron © (2006-02-24 11:50) [2]1. Реиндексация рулит! Попробуй после сбоев позапускать: 95 из ста - поможет.
2. Может я чего путаю, но когда создаёшь таблицу, в ней можно указывать ключ и порядок сортировки. Почему бы не юзать TQuery? Сразу все проблемы с сортировкой отпадут! И ещё глядишь, быстрее заработает (Хотя DB...разве что DCOM...)!
← →
Bee-Bee © (2006-02-24 17:59) [3]
> 1. Реиндексация рулит! Попробуй после сбоев позапускать:
> 95 из ста - поможет.
>
> 2. Может я чего путаю, но когда создаёшь таблицу, в ней
> можно указывать ключ и порядок сортировки. Почему бы не
> юзать TQuery? Сразу все проблемы с сортировкой отпадут!
> И ещё глядишь, быстрее заработает (Хотя DB...разве что DCOM.
> ..)!
Тогда ответный вопрос! как делать переиндексацию програмно в делфях?
И насчет ключа! порядок сортировки указываю, но ему поровну! он все равно по возрастанию сортирует??? и можно ли делать ключевое поле неуникальным???
← →
Desdechado © (2006-02-24 18:23) [4]> можно ли делать ключевое поле неуникальным
В библиотеку тебе надо, а не в форум.
Ключи бывают разные, по одним можно, по другим нельзя.
← →
так себе (2006-02-24 20:15) [5]Пока будешь искать UPS добавь в программу:
procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
DbiSaveChanges(table1.handle);
end;
Максимум - потеря последней записи при отключении эл.питания.
Потеря записей при эл.сбое происходит из-за того, что в локальных базах Paradox метод Post записывает данные не на жесткий диск, а только в память. Приведенная выше строка кода после вызова метода Post для каждой записи записывает содержимое буфера BDE на жесткий диск. Можно также использовать для этой цели метод TDBEDataSet FlushBuffers, например:procedure TForm1.Table1AfterPost(DataSet: TDataSet);
begin
Table1.FlushBuffers;
end;
Этот метод можно также вызывать и при обработке события AfterDelete.
← →
Desdechado © (2006-02-24 20:42) [6]> Пока будешь искать UPS добавь в программу
а потом заставь и винду сбросить буфера на диск, а то ведь она тоже кэширует
← →
Bee-Bee © (2006-02-25 11:35) [7]Спасибо за помощь!!! очень благодарен!
← →
Bee-Bee © (2006-02-26 18:28) [8]Значит вот! сам разобрался с проблеммой!
Есть два типа полей (уникальное и неуникальное)
сортировка производится по разному!
Уникальное поле (создание таблицы в DataBaseDesktop):
Задаем этому полю ключ (знак * на столбце Key)
Далее выбираем в поле Table Properties - Secondary Index
жмем define и создаем индекс для нашего ключевого поля
Ставим галочки Unique, MaINTAINED, и если упорядочить по убыванию, то Descending
сохраняем
заходим в делфи и делаем настройки в TTable ---- IndexName=имя индекса которое мы создали
неУникальное поле (создание таблицы в DataBaseDesktop):
Все тоже самое, только создаем новое поле (например "cod") с типом "+" и ставим * на его "Key" и при создании Secondary Index не ставим галку на Unique
Вот и вся проблемма :)
← →
Bee-Bee © (2006-02-26 18:30) [9]Да забыл при неУникальном поле ставить Key на поле по которому хотим сортировать не надо!
И сортировка происходит и на редактирование не ругается!!!
← →
evvcom © (2006-02-27 11:03) [10]
> После чего Чубайс дергает рубильник и свет выключается!
Все беды от Чубайса, оказывается! Ах, он рыжий лис!
← →
Neo Trinitron © (2006-02-27 11:13) [11]Bee-Bee, чесно говоря я уже не могу привести ни одного весомого аргумента использования компонента TTable. TQuery - вот что работает действительно интересно, при том если будешь писать клиента Oracle, MS Sql и пр. (клиент-сервер, короче), то TTable практически лишит твой клиент той самой изюминки для которой вся каша заваривалась. Sql не так сложен чтобы его не юзать в повседневной программерской жизни. Чесно говоря вся работа в Database Decktop могла быть заменена на Sql строку order by поле desc. Удач.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.013 c