Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Одновременное обращение к BD, InterBase/FireBird 
:(
    Опции темы
devmstr
Дата 8.3.2006, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
**


Профиль
Группа: Участник
Сообщений: 879
Регистрация: 28.4.2004
Где: Ukraine

Репутация: нет
Всего: 11



Есть база данных. К одной из таблиц постоянно происходит обращание сразу с нескольких машин. В основном они добавляю данные. Уникально только первое поле(всмысле гарантировано) числовое, остальные поля теоретически могу полностью совпадать. Проблема состоит в том что это поле генерируется следующим образом. Перед добавлением программа получает max значение данного поля и прибавляет к нему единицу и формирует значения всех полей и записывает эти данные в таблицу и делает ApplyUpdates. Но очень часто бывает такая проблема. Другая копия программы в этот же момент обращается к базе данных и получает такое же значение max, ну и т.д..
Как во-первых сделать чтобы поле само инкрементилось при добавлении новой записи?


--------------------
Think different ©Steve Jobs 
user posted image
PM MAIL WWW   Вверх
Vit
Дата 8.3.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

Репутация: 14
Всего: 207



А что автоинкрементных полей база данных не поддерживает?

Вариант2 - использовать ключевое поле типа GUID


--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
SergeBS
Дата 9.3.2006, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1111
Регистрация: 10.6.2005
Где: Владимир

Репутация: 11
Всего: 22



devmstr,
Без вмешательства со стороны сервера корректного решения нет. С сервером - описано в соответствующем FAQ. Рекомендую статью Кузьменко насчет применения генераторов. Ibase.ru.

Это сообщение отредактировал(а) SergeBS - 9.3.2006, 09:20
PM MAIL   Вверх
Alex
Дата 11.3.2006, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 17
Всего: 162



Сервер InterBase и все его клоны не имеют автоинкрементных полей, за место них есть мощное средство "Генераторы", генераторы не зависят от транзакций и всегда выдают уникальное значение http://ibase.ru/devinfo/generator.htm


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0478 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.