Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Удаление поля

Автор: WishMaster 16.03.2007 22:21

Здравствуйте.Помогите со следующей проблемой.Есть Table и связанная сней БД.В БД есть ключевое автоувеличивающиеся поле.Для удаления поля из БД использую

Table1.Delete;

Для Добавления поля процедуру:
procedure TForm1.AddField(Sender: TObject;Fam, Nam, Gr, Pass, Logn: String; BRDay: TDateTime);
begin
with Sender as TTable do
begin
Append;
FieldByName('Fam').AsString:=Fam;
FieldByName('Name').AsString:=Nam;
FieldByName('Gr').AsString:=Gr;
FieldByName('Pass').AsString:=Pass;
FieldByName('Logn').AsString:=Logn;
FieldByName('BRDay').AsDateTime:=BRDay;
Post;
end;
end;

Вся проблема в том,что пусть в таблице было 5 полей,мы их все удалили.Далее мы добавляем поле с помощью приведенной процедуры.После добавления поля его индекс становиться равным 6 (хотя в таблице отображается всего одно поле) хотя теоретически должно стать рравным 1.Помогите сделать его таковым.

Автор: volvo 16.03.2007 22:40

Какая у тебя БД?

Автор: WishMaster 16.03.2007 22:44

Paradox7 Вроде.Я ее создал в DataBase Desktop.

Автор: volvo 16.03.2007 22:52

После упаковки таблицы Автоинкрементное поле сбрасывается в начальное состояние... Как делать упаковку программно - по-моему, есть в DRKB...

Автор: WishMaster 16.03.2007 23:17

Добавил после удаления перепаковку.Таже песня, вот собственно база данных и эта программа.


Прикрепленные файлы
Прикрепленный файл  Программа.rar ( 8.08 килобайт ) Кол-во скачиваний: 169

Автор: volvo 17.03.2007 0:14

Очень интересно... Даже код из Borland Database Engine OnLine Reference не отрабатывает как положено для Paradox-а... blink.gif

Автор: WishMaster 17.03.2007 0:20

Цитата
Очень интересно... Даже код из Borland Database Engine OnLine Reference не отрабатывает как положено для Paradox-а...

Наверно это "колдунство" какое-то, но мне от этого не легче. wacko.gif wacko.gif wacko.gif