Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2007, 08:14   #1
Askat
Пользователь
 
Регистрация: 11.06.2007
Сообщений: 20
По умолчанию Автоинкремент

Как при добавлений записей в поле 'ID' автоматический добавлялся номера по порядку, в компоненте Table, у меня есть код, но он добавляет одни единички!?

Var
pos : integer;
begin

pos:=1; // Начинаем с цифры 1
Table1.First; // перемещаем курсор на первую запись таблицы

while not Table1.Eof do // Бегаем по таблице
begin
Table1.Edit; // редактируем текущую запись
Table1.FieldByName('ID').AsInteger := pos; // меняем поле ID на нашу переменную
Table1.Post; // Сохраняем то что изменили
Table1.Next; // Переходим на следующую запись
pos := pos + 1; // увиличиваем переменную на + 1
end;
end;
Askat вне форума Ответить с цитированием
Старый 18.06.2007, 10:03   #2
Still_Learn
Пользователь
 
Регистрация: 30.05.2007
Сообщений: 16
По умолчанию

1. С какой СУБД работаешь?
2. Автоинкремент (особенно если это поле Id, в том смысле, в котором его понимают программисты, работающие с БД) реализуется средствами СУБД, а именно, генераторами и триггерами... А-то как-то не по себе, когда поле Id, которое по своему названию должно определять уникальность записи, изменяется "ручками"... Б-р-р...
3. Если все-таки такое изменение надо, нельзя ли пояснить для чего?
Still_Learn вне форума Ответить с цитированием
Старый 18.06.2007, 13:19   #3
Askat
Пользователь
 
Регистрация: 11.06.2007
Сообщений: 20
По умолчанию

Я работаю с Oracle, соединяюсь через oraTable, компоненты предназначенные для соединения с сервером oracle, и вот я хочу сделать так что бы при добавление записи в поле id автоматический добавлялись цифры, никаких запросов не использую, только OraTable!!!
Askat вне форума Ответить с цитированием
Старый 18.06.2007, 13:39   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

используй тригер и генератор....
только, если ты используешь mySQL, как я ..., то в более ранних версиях не поддерживается данная темка....
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
автоинкремент в запросе ГОСЕАН БД в Delphi 13 01.02.2008 16:12
автоинкремент с нуля azat БД в Delphi 5 18.12.2007 08:26
Автоинкремент при компиляции _SERGEYX_ Общие вопросы Delphi 4 11.07.2007 01:24