Проблемы с автонумерацией

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

Проблемы с автонумерацией

Сообщение Aragorn »

C55, ABC, многопользовательский режим :oops: .

В таблице два уникальных ключа. Первый ключ - ID с автонумерацией, второй - ФИО клиента и его дата рождения.
Ситуация: два пользователя с разных станций ОДНОВРЕМЕННО делают добавление РАЗНЫХ записей (т.е. гарантированно разных клиентов) в эту таблицу, при этом работает следующий код (без Form):

Код: Выделить всё

!<вызов некой внешней dll для получения данных>
TAB:ID = 0
TAB:FIO = Glo:FIO
TAB:BDay = Glo:BDay
If Access:Table.Insert() <> Level:Benign Then Do ErrorMsgShow End
Так вот, при отработке этого кода регулярно возникает сообщение типа (точную формулировку не помню)

Попытка автонумерации записи привела к следующей ошибке:
ErrorCode = 40 (Creates Duplicate Keys)

ЧТО ЕТО??????? Помогите плиз.
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

Сообщение Aragorn »

Ау, специалисты???..
:shock: :?: :?: :?: :shock:
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Специалист, вы про автонумерацию читали???? :wink:
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Что камасутру на предмет TryPrimeAutoInc
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

Сообщение Aragorn »

Я не специалист, я в вечных ученьях...
И вообще это не у меня возникла такая проблема :?
Так что уж смените гнев (и иронию) на милость, обьясните популярно...
пожалуйста...
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Я же написал: класс FileManagerClass, методы TryPrimeAutoInc, PrimeAutoInc. Почитай, там всё нормально описано.
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

Сообщение Aragorn »

Почитал!... И что там написано такого, что может осенить?.. Не понимаю, видать совсем тупой стал.
Может, цитатку подкинете?
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Re: Проблемы с автонумерацией

Сообщение Andrew Listiev »

Aragorn писал(а):C55, ABC, многопользовательский режим :oops: .

Код: Выделить всё

!<вызов некой внешней dll для получения данных>
TAB:ID = 0
TAB:FIO = Glo:FIO
TAB:BDay = Glo:BDay
If Access:Table.Insert() <> Level:Benign Then Do ErrorMsgShow End
А кто сказал что этот код будет инкриминировать TAB:ID ?????
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Ты не написал про модель данных, а это очень важно. Если модель данных клашина( дат или трс), то автонумерация - штука стремная. Я штатную автонумерацию не использую и пишу код ручками - вариантов решения этой проблемы много - читай дискуссии на форуме
Аватара пользователя
Aragorn
Активист
Сообщения: 113
Зарегистрирован: 11 Июль 2005, 12:40
Откуда: Москва

Сообщение Aragorn »

А кто сказал что этот код будет инкриминировать TAB:ID ?????
А почему не будет???????
Ты не написал про модель данных, а это очень важно. Если модель данных клашина( дат или трс), то автонумерация - штука стремная. Я штатную автонумерацию не использую и пишу код ручками - вариантов решения этой проблемы много - читай дискуссии на форуме
TPS, и то, что автонумерацию при этом очень желательно делать через файлик в котором лежат последние уникальные значения - это нам известно, но штука в том, что в данном приложении есть большое желание докопаться до того, что же все-таки происходит, а уж потом сделать (наверное) уже ручками...
Все-таки очень нужно выявить причину, почему же не проходит стандартная автонумерация, так сказать аргументировать неообходимость изменить методику...
-------------------------------
В истинном золоте блеска нет...
Аватара пользователя
Admin
Администратор
Сообщения: 4010
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 53 раза
Поблагодарили: 33 раза
Контактная информация:

Сообщение Admin »

А так что не работает уже?

Код: Выделить всё

TAB:ID   = 0 
TAB:FIO  = Glo:FIO 
TAB:BDay = Glo:BDay
IF Access:Table.PrimeAutoInc() <> LEVEL:Benign
  Access:Table.CancelAutoInc()
ELSE
  Access:Table.Insert()
END 
И еще! Смотрите внутрь: ABFILE.CLW
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Сообщение lsgsoftware »

Да переходи ты на SQL.Если затянешь время, потеряешь заказчиков.Это не так уже трудно.
Ответить