|
|
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Леди и джентельмены! Ответьте, пожалуйста, на 2 вопроса. 1. Integer Field Type - 4-byte binary value. Это что, нумерация дойдет до 9999 и все? 2. Добавляю новую запись через INSERT. Если информация дублируется (что не хорошо), идет обработка этой ошибки. Использую при этом BEGIN TRANSACTION / END TRANSACTION / ROLLBACK. Защита срабатывает, но поле Integer Field в таблице успевает поменяться на следующее значение, что тоже не очень-то хорошо. Что делаю не так? Благодарю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:08 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
колво 256*256*256*256 0т -2 млрд до +2млрд у тебя уникальный индекс если нужны дубли меняй тип индекса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:12 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
или не допонял??? для того, чтобы не допустить дубли вы руками проверяете??? можно проще - сделать уникальный индекс фокс сам не допустит дубля и не нужно транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:16 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
да и тип поля поставить Integer (AutoInc). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:18 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
из хелпа Integer Numeric value with no decimals For example, a line number in an order. 4 bytes -2147483647 to 2147483647 Integer (Autoinc) Same as Integer but also an automatically incrementing value. Read-only. 4 bytes Value controlled by autoincrement Next and Step values. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:22 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
alex11100или не допонял??? для того, чтобы не допустить дубли вы руками проверяете??? можно проще - сделать уникальный индекс фокс сам не допустит дубля и не нужно транзакции Да нет, не вручную, именно ошибка при совпадении кандидат-индекса. Я же говорю, что делаю что-то не так. Т.е., Вы хотите сказать, что обработку ошибки мне сделать, не пользуясь транзакцией и ее отменой? Но я, вообще-то, спрашиваю, как не допустить процесс изменения значения Integer Field = Integer Field +1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:26 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Попробую еще раз разъяснить свой вопрос. Программа у меня работает номально, дублирующиеся записи не допускаются кандидат-индексом. Меня просто смущает другое: если пытаешься внести в таблицу дублирующуюся ифнформацию, происходит обработка ошибки, новая запись НЕ ДОБАВЛЯЕТСЯ, но значение поля Integer(AutoInc) в следующей корректной записи будет на +2 больше, чем в последней записи. Пусть, например, пользователь вснес 3 записи, в поле IdCod (оно типа Integer) будет 105,106,107. Теперь пользователь три раза попытался внести дублирующуюся информацию. Программа не пропустила. Потом информация у пользователя прошла корректно. Записалась. Но значение поля IdCod будет не 108, а 111. А мне не хотелось бы таких пропусков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:43 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Так не получится, дело в том, что Integer (AutoInc) в любом случае сделает приращение счетчика. Если Вам уж очень хочется иметь ID без пропусков, хотя не ясно зачем, то используйте NewID ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 14:56 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Получиться, если не откатывать буфер. Т.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 15:01 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
ВладимирМТ.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл Да, я уже пробовала использавать и ROLLBACK и TABLEREVERT(). PaulWistТ.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл Да не то, чтобы очень хочется. Просто хотела видеть этот порядок "без дырок" :-)) И правда, не буду тогда заморачиваться. Благодарю всех-всех-всех! Елизавета Скрунскайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 15:19 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
ВладимирМПолучиться, если не откатывать буфер. Какой буфер? Лисонька Использую при этом BEGIN TRANSACTION / END TRANSACTION / ROLLBACK. Защита срабатывает, но поле Integer Field в таблице успевает поменяться на следующее значение, Про буфферизацию ни слова - идёт прямой INSERT в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.12.2005, 15:58 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Hi Лисонька! Главное - это чтобы первичные ключи были суррогатными - т.е. чтобы не показывать их пользователю, и не использовать для каких-то прикладных целей - они нужны для системы - чтобы однозначно находить записи, и чтобы поддерживать ссылки от одних таблиц к другим. При этом то как иудт там значения - последовательно или вообще в хаотическом порядке - никакого значения не имеет. Просто если пытаться показывать такие поля пользователю, он обязательно станет требовать всякой ерунды, типа разрешить ему менять там значения, устранять "дырки" в нумерации, позволить завести 2 дубля и т.п. - а так, пока он не подозревает о наличии такого поля, всё будет идти хорошо - просто и надёжно :) Для "баловства" с нумерацией заведи пользователю ещё одно поле (можно числовое типа Integer, но лучше сразу символьное - может он захочет буквенные шифры использовать) - можно сделать его Candidate-ом - пускай вводит туда что хочет - главное что не порушится логическая связь данных из твоих таблиц :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 03:52 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Igor KorolyovПросто если пытаться показывать такие поля пользователю, он обязательно станет требовать всякой ерунды, типа разрешить ему менять там значения, устранять "дырки" в нумерации, позволить завести 2 дубля и т.п. Ой, как я согласна с Вами, Igor! Задавая вопрос, именно в первую очередь я думала о том, что скажет юзер, который будет пользовать мой программный пустячок. Был уже прецедент - я удалила несколько записей вручную и ввела потом повторно: "А где здесь люди с 510 по 515 номер!? Подать их мне сюда!" Я с великим трудом доказала, что 1223-1228 эти же самые персоны. Можно еще вопрос? Правомерно использовать в программе курсор с созданием для него индекса, чтобы пользоваться SEEK? Благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2005, 20:28 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Как Игорь уже объяснил поле Integer (Autoinc) - для Вашего внутреннего употребления и показывать его юзеру не надо. Показывайте табельный номер работника, серийный номер детали, исходящий номер документа итд, т.е. цифры, которые для юзеров имеют смысл. авторПравомерно использовать в программе курсор с созданием для него индекса, чтобы пользоваться SEEK? Вполне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2005, 04:51 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
объясните пожалуйста такую ситуацию: есть поле integer(autoinc) в тблице - ddd.dbf таблицу я делал у себя на локальном компьютере затем скопировал её на сервер для работы и ч/з некоторое время (я не знаю) это поле уже стало не integer(autoinc) а просто integer... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 14:36 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
2 Лисонька Проверяй перед добавлением на уникальность информации если документ с № 1 от 03,08,06 на предприятие уже есть, то выдай сообщение, если нет то добавляй И тогда твой IDCod будет без "Дырок" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 14:44 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
2 eadd Вы справшиваете почему??? ну .... это ... а так можно и проверку поставить 17 колонка в массиве afield() Вам скажет о том аутоинкр или нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 15:33 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
такое изменение не связано, что таблицу создавал в одном месте, а потом положил в другое? (я и хочу выяснить чего не надо делать...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 16:01 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
создавать в одном месте а затем в другое перекладывать ну честно, ну фиг его.. ну ты же там рядом ну положи еще раз и посмотри ну вроде не было такого а так если все в БД там есть влож.процедуры так вот на юз этой таблы или на опен БД можешь проверить тип поля он тебе и скажет - караул ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 16:54 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
ЛисонькаПопробую еще раз разъяснить свой вопрос. Программа у меня работает номально, дублирующиеся записи не допускаются кандидат-индексом. Меня просто смущает другое: если пытаешься внести в таблицу дублирующуюся ифнформацию, происходит обработка ошибки, новая запись НЕ ДОБАВЛЯЕТСЯ, но значение поля Integer(AutoInc) в следующей корректной записи будет на +2 больше, чем в последней записи. Пусть, например, пользователь вснес 3 записи, в поле IdCod (оно типа Integer) будет 105,106,107. Теперь пользователь три раза попытался внести дублирующуюся информацию. Программа не пропустила. Потом информация у пользователя прошла корректно. Записалась. Но значение поля IdCod будет не 108, а 111. А мне не хотелось бы таких пропусков Решил все-таки пояснить. Предположим у нас есть пустая таблица. Текущее значение счетчика = 1. Три пользователя подряд делают APPEND BLANK. П1 получает ID = 1, П2 - 2, П3 - 3. Текущее значение счетчика - 4. П1 и П3 делают TABLEREVERT(). Текущее значение счетчика дважды уменьшается и равно 2. П2 делает TABLEUPDATE(). Сохраняется запись с ID = 2. При этом, текущее значение счетчика = 2. Следующий APPEND BLANK генерирует нарушение уникальности. А самое главное, разрыв в последовательности нумерации все-равно остался. А событие TABLEUPDATE не может инкрементировать счетчик по определению. Так как это событие может содержать в себе не только INSERT, но и UPDATE и DELETE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 11:45 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
Kruchinin Pahan буферизация??? 5?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 13:28 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
alex11100Kruchinin Pahan буферизация??? 5?? Какая разница, 5-я или 3-я, если в примере у каждого по 1-ой row? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 13:43 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
разница очень большая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 14:11 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
alex11100разница очень большая Конкретизируй пожалуйста, в чем разница для счетчика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 14:30 |
|
||
|
Вопрос про Integer Field Type и изменение его значения
|
|||
|---|---|---|---|
|
#18+
А где и кто в рассматриваемом случае обнаружил СЧЕТЧИК? И где вообще в фоксе обнаружился такой предмет? Ткните меня, неразумного, носом? И почему от обычного integer, хоть и с автоинкрементом, хотят получить поведение как у счетчика записей? Почему от такого поля все время пытаются добиться непрерывности значений? Он для этого предназначен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 15:05 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33425188&tid=1591056]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 500ms |

| 0 / 0 |
