АПЕКСОФТ Community
Главный сайт | Скачать ДЕМО | Скриншоты | Продукты | Прайс-лист | Статьи | Новости | Контакты
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Добавление поля в базу данных.
D_Mitrich Offline
#1 Оставлено : 29 июля 2011 г. 10:38:12(UTC)
Ранг: Новенький

Группы: Пользователи
Зарегистрирован: 28.07.2011(UTC)
Сообщений: 1
Баллов: 3
Откуда: Уфа

Необходимо создать порядковый номер для контрагентов.

Порядок действий?

1) Необходимо добавить поле в базу данных

2) Вывести это поле в таблицу контрагентов.

Как это организовать?
Сергей Offline
#2 Оставлено : 29 июля 2011 г. 15:38:45(UTC)
Ранг: Сотрудник

Группы: Пользователи, Администраторы
Зарегистрирован: 27.12.2010(UTC)
Сообщений: 220
Баллов: 712

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 47 раз в 46 постах
Для начала надо подключится к базе, как это сделать описано здесь: http://www.apec.com.ua/forum/postt/7/ 



1. Создать поле в таблице COMP, например COMP_UID типа INT

2. Создать Генератор например с именем COMP_UID, где будет хранится последнее значение ID

3. Создать тригер BEFORE INSERT для таблицы COMP с таки содержимым:



NEW.COMP_UID = GEN_ID(COMP_UID, 1);



http://www.firebirdsql.o.../langrefupd20-genid.html



То есть сгенерировать новый ID и присвоить полю



4. Описать это поле в дизайнере что-бы отображалось в таблице



Если по какому то пункту не понятно, могу детализировать.
Lex4Good@gmail.com Offline
#3 Оставлено : 8 августа 2013 г. 15:16:47(UTC)
Ранг: Новенький

Группы: Пользователи
Зарегистрирован: 08.08.2013(UTC)
Сообщений: 1
Баллов: 3

Сергей, а вы не могли бы описать более детально пункт №2 ?
Сергей Offline
#4 Оставлено : 9 августа 2013 г. 20:48:33(UTC)
Ранг: Сотрудник

Группы: Пользователи, Администраторы
Зарегистрирован: 27.12.2010(UTC)
Сообщений: 220
Баллов: 712

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 47 раз в 46 постах
Firebird имеет механизм Генераторов. Грубо говоря это переменная которая увеличивается и она не зависит от транзакций.

В IBExpert раздел называется Генераторы.

Если командой, то можно создать так: CREATE SEQUENCE MY_GENERATOR.



Что бы получить следующее значение: 
GEN_ID(MY_GENERATOR,1)

Более детально: http://www.firebirdsql.o...rguide-sqlsyntax-ru.html




Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.