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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2014, 13:22   #1
Aleks_006
Пользователь
 
Регистрация: 19.03.2013
Сообщений: 23
По умолчанию Автоматически заполнить поле Delphi/Interbase

Как можно реализовать такое на SQL: есть Edit "Название книги"; в базе (InterBase) есть столбцы "Название книги" и "Код книги"; я хочу вводить в программе только название, и если такая книга уже попадалась в таблице, подставляется её код; если же название новое, то чтобы ставился ещё не использованный код (например, существовали книги до 13, теперь будет 14).
(Код книги не уникальный, просто цифра, может встречаться много раз)

Последний раз редактировалось Aleks_006; 18.10.2014 в 13:25.
Aleks_006 вне форума Ответить с цитированием
Старый 18.10.2014, 16:28   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это можно триггерами достичь. Я их сам не юзаю, но ты порой в эту сторону.
Можешь даже достать себе IBExpert, он поможет визуально настроить такой триггер.
Только вот вопрос: А зачем хранить дополнительно названия, если все равно хранишь коды? Можешь показать структуру своих таблиц?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.10.2014, 15:12   #3
Aleks_006
Пользователь
 
Регистрация: 19.03.2013
Сообщений: 23
По умолчанию

Чуть переработал таблицы, по идее нужная (TOVAR) должна выглядеть так:

ID_KNIGI
NAZVANIE_KNIGI char
CENA
KOLICHESTVO

Я хочу вводить только название; что тогда вбивать в ID? Он уникальный, я думаю, нужен счётчик? Но я даже не знаю, есть ли в IBConsole счётчик. Как он там называется?
И, как я понял, мне нужны скорее генераторы, а не триггеры. Но как их писать, не в курсе.
Также вопрос: при вбивании уже существующего названия должна не создаться новая запись, а увеличиться на 1 поле KOLICHESTVO у существующей. Можно такое замутить?
Aleks_006 вне форума Ответить с цитированием
Старый 20.10.2014, 07:22   #4
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

открой IBExpert, и сделай поле автоинкриментированным, и создай тригер на него..при insert будешь передавать просто null вместо значения id
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 20.10.2014, 07:28   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
и создай тригер на него
Можт лучше генератор?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить поле (WebBrowser) WeezyWayne Общие вопросы Delphi 5 17.07.2014 17:27
Автоматически проставляемое поле ID rasfir C# (си шарп) 1 22.04.2014 12:33
Нужно автоматически заполнить двумерный массив специальным образом diman87 Помощь студентам 5 25.09.2009 14:13
Как автоматом заполнить поле? Stanislav PHP 4 09.03.2008 01:57