![]() |
|
| Правила Форума редакция от 22.06.2020 |
|
|||||||
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
![]() |
|
|
Опции темы | Опции просмотра |
Language
|
|
|
#1
|
|
Неактивный пользователь
Пол:
Регистрация: 04.11.2007
Адрес: Миасс
Сообщений: 35
Репутация: 7
|
Господа, подскажите решение такого вопроса:
На delphi создана программа, которая добавляет записи в таблицу. В таблице есть поле ключевое (например NUM_1), которое содержит порядковый номер записи. Как сделать, чтобы при добавлении новой записи через IBQuery, увеличить порядковый номер на 1. Я делал следующим способом, через запрос, переходил к последней записи и смотрел её номер, а при ставке новой к ней прибавлял 1., но если несколько пользователей добавляют одновременно несколько записей, то с момента получения и добавления моих записей, последний номер становится не актуальным. Как победить это дело, и всё это описать через IBQuery (или как то по другому, кто знает)? Базу использую Firebird. ![]() |
|
|
|
| Реклама: | С любовью и яростью рецензия на фильм | яндекс почта youtube | карбид кремния зеленый 63с | Мульти-сплит системы MITSUBISHI | Acer Aspire C24-1610 |
|
|
#2
|
|
Новичок
Пол:
Регистрация: 13.11.2007
Сообщений: 10
Репутация: 2
|
1. Нужно создать генератор - один раз
create generator genForMyKeyField 2. В запросе на вставку данных в таблицу пишешь insert into MyTable (MyKeyField, Field2,...) values (gen_id(genForMyKeyField,1), 'any value',...) === genForMyKeyField - имя генератора - любое имя какое нравится gen_id(GN,1) - встроенная функция - увеличивает и возвращает значение генератора GN на любое число - в данном случае на единицу. Сетевые ошибки в данном случае невозможны. |
|
|
|
| Сказали спасибо: |
|
|
#3
|
|
Неактивный пользователь
Пол:
Регистрация: 04.11.2007
Адрес: Миасс
Сообщений: 35
Репутация: 7
|
Господа, подскажите как работать с IBDataSet.
В свойствах IBDataSet, выбираю таблицу, поля, делаю Generate SQL (InsertSQL, UpdateSQL, DeleteSQL …). С добавление новых записей (insert) в таблицу, разобрался, а как выполнить обновление и уделение данных в таблице? Select запрос в IBDataSet должен быть обязательно открыт для обновления, или как то по другому можно провести? Как в Delphi это всё описать (хотя бы простейший пример)? |
|
|
|
|
|
#4
|
|
Неактивный пользователь
Пол:
Регистрация: 04.11.2007
Адрес: Миасс
Сообщений: 35
Репутация: 7
|
Всё, разобрался
Вопрос снимается. |
|
|
|
|
|
#5
|
|
Неактивный пользователь
Пол:
Регистрация: 03.12.2007
Сообщений: 13
Репутация: 0
|
Зачем усложнять вызовом генератора в делфи - проще повесить генератор на тригер в самой базе |
|
|
|
|
|
#6
|
|
Неактивный пользователь
Пол:
Регистрация: 04.11.2007
Адрес: Миасс
Сообщений: 35
Репутация: 7
|
|
|
|
|
|
|
#7
|
|
Неактивный пользователь
Регистрация: 10.12.2007
Сообщений: 11
Репутация: 4
|
|
|
|
|
|
|
#8
|
|
Неактивный пользователь
Пол:
Регистрация: 04.11.2007
Адрес: Миасс
Сообщений: 35
Репутация: 7
|
Подскажите, кто знает...
Как в Delphi написать код, чтобы программно узнать, какие пользователи (Имя) подключены к БД firebird. И вообще, возможно ли это? |
|
|
|
|
|
#9
|
|
Новичок
Пол:
Регистрация: 26.11.2007
Сообщений: 27
Репутация: 20
|
|
|
|
|
| Сказали спасибо: |
|
|
#10
|
|
Может у кого то есть готовый исходник формы алиаса, для подключения к базе данных IB под сервер Firebird 2.0.?
|
|
|
|
|
|
|
#11
|
|||||||||||||||||||||||
|
Неактивный пользователь
Регистрация: 10.12.2007
Сообщений: 11
Репутация: 4
|
Написал я типа менеджера алиасов, правда для FB1.5 Смысл такой: Есть база алиасов в ini файле, выбираешь нужный и выгружаешь в конфигурационный файл. Затем твоя программа тупо смотрит этот конфиг и организовывает подключение к базе. Если набо, мыло давай. |
|||||||||||||||||||||||
|
|
|
| Сказали спасибо: |
![]() |
Похожие темы
|
||||
| Тема | Автор | Раздел | Ответов | Последнее сообщение |
| При закрытии соединения в Дельфах с базой данных firebird программа выле ошибкой | Азамат31 | Delphi | 5 | 28.06.2008 12:10 |
| работа с базой | kravit | PHP | 5 | 02.05.2008 00:52 |
| Вопрос из разряда Delphi+FireBird | Андрей1981 | Базы данных | 6 | 12.01.2008 14:30 |
|
|