Помощь - Поиск - Пользователи - Календарь
Полная версия: Удаление поля
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
WishMaster
Здравствуйте.Помогите со следующей проблемой.Есть 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
Какая у тебя БД?
WishMaster
Paradox7 Вроде.Я ее создал в DataBase Desktop.
volvo
После упаковки таблицы Автоинкрементное поле сбрасывается в начальное состояние... Как делать упаковку программно - по-моему, есть в DRKB...
WishMaster
Добавил после удаления перепаковку.Таже песня, вот собственно база данных и эта программа.
volvo
Очень интересно... Даже код из Borland Database Engine OnLine Reference не отрабатывает как положено для Paradox-а... blink.gif
WishMaster
Цитата
Очень интересно... Даже код из Borland Database Engine OnLine Reference не отрабатывает как положено для Paradox-а...

Наверно это "колдунство" какое-то, но мне от этого не легче. wacko.gif wacko.gif wacko.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.