powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про Integer Field Type и изменение его значения
25 сообщений из 27, страница 1 из 2
Вопрос про Integer Field Type и изменение его значения
    #33425127
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леди и джентельмены!
Ответьте, пожалуйста, на 2 вопроса.
1. Integer Field Type - 4-byte binary value. Это что, нумерация дойдет до 9999 и все?
2. Добавляю новую запись через INSERT. Если информация дублируется (что не хорошо), идет обработка этой ошибки. Использую при этом BEGIN TRANSACTION / END TRANSACTION / ROLLBACK. Защита срабатывает, но поле Integer Field в таблице успевает поменяться на следующее значение, что тоже не очень-то хорошо. Что делаю не так?
Благодарю
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425144
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
колво
256*256*256*256
0т -2 млрд до +2млрд

у тебя уникальный индекс
если нужны дубли меняй тип индекса
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425154
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или не допонял???

для того, чтобы не допустить дубли вы руками проверяете???

можно проще - сделать уникальный индекс
фокс сам не допустит дубля
и не нужно транзакции
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425160
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да и тип поля поставить Integer (AutoInc).
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425171
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
из хелпа

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.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425188
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100или не допонял??? для того, чтобы не допустить дубли вы руками проверяете???
можно проще - сделать уникальный индекс фокс сам не допустит дубля
и не нужно транзакции
Да нет, не вручную, именно ошибка при совпадении кандидат-индекса. Я же говорю, что делаю что-то не так.
Т.е., Вы хотите сказать, что обработку ошибки мне сделать, не пользуясь транзакцией и ее отменой?
Но я, вообще-то, спрашиваю, как не допустить процесс изменения значения Integer Field = Integer Field +1.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425252
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую еще раз разъяснить свой вопрос.
Программа у меня работает номально, дублирующиеся записи не допускаются кандидат-индексом. Меня просто смущает другое: если пытаешься внести в таблицу дублирующуюся ифнформацию, происходит обработка ошибки, новая запись НЕ ДОБАВЛЯЕТСЯ, но значение поля Integer(AutoInc) в следующей корректной записи будет на +2 больше, чем в последней записи.
Пусть, например, пользователь вснес 3 записи, в поле IdCod (оно типа Integer) будет 105,106,107. Теперь пользователь три раза попытался внести дублирующуюся информацию. Программа не пропустила. Потом информация у пользователя прошла корректно. Записалась. Но значение поля IdCod будет не 108, а 111. А мне не хотелось бы таких пропусков
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425288
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так не получится, дело в том, что Integer (AutoInc) в любом случае сделает приращение счетчика. Если Вам уж очень хочется иметь ID без пропусков, хотя не ясно зачем, то используйте NewID
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425305
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получиться, если не откатывать буфер.

Т.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425363
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМТ.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл
Да, я уже пробовала использавать и ROLLBACK и TABLEREVERT().
PaulWistТ.е. вообще-то, процесс редактирования (создания новой записи) - это процесс, который обычно выполняют в буфере таблицы. Транзакция - это совсем другое. Почитай вложенный файл
Да не то, чтобы очень хочется. Просто хотела видеть этот порядок "без дырок" :-)) И правда, не буду тогда заморачиваться.
Благодарю всех-всех-всех!

Елизавета Скрунскайте
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33425492
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВладимирМПолучиться, если не откатывать буфер.


Какой буфер?

Лисонька Использую при этом BEGIN TRANSACTION / END TRANSACTION / ROLLBACK. Защита срабатывает, но поле Integer Field в таблице успевает поменяться на следующее значение,

Про буфферизацию ни слова - идёт прямой INSERT в таблицу.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33428708
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Лисонька!

Главное - это чтобы первичные ключи были суррогатными - т.е. чтобы не
показывать их пользователю, и не использовать для каких-то прикладных
целей - они нужны для системы - чтобы однозначно находить записи, и чтобы
поддерживать ссылки от одних таблиц к другим. При этом то как иудт там
значения - последовательно или вообще в хаотическом порядке - никакого
значения не имеет.
Просто если пытаться показывать такие поля пользователю, он обязательно
станет требовать всякой ерунды, типа разрешить ему менять там значения,
устранять "дырки" в нумерации, позволить завести 2 дубля и т.п. - а так,
пока он не подозревает о наличии такого поля, всё будет идти хорошо - просто
и надёжно :) Для "баловства" с нумерацией заведи пользователю ещё одно поле
(можно числовое типа Integer, но лучше сразу символьное - может он захочет
буквенные шифры использовать) - можно сделать его Candidate-ом - пускай
вводит туда что хочет - главное что не порушится логическая связь данных из
твоих таблиц :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33429138
Лисонька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor KorolyovПросто если пытаться показывать такие поля пользователю, он обязательно
станет требовать всякой ерунды, типа разрешить ему менять там значения,
устранять "дырки" в нумерации, позволить завести 2 дубля и т.п.
Ой, как я согласна с Вами, Igor!
Задавая вопрос, именно в первую очередь я думала о том, что скажет юзер, который будет пользовать мой программный пустячок. Был уже прецедент - я удалила несколько записей вручную и ввела потом повторно: "А где здесь люди с 510 по 515 номер!? Подать их мне сюда!" Я с великим трудом доказала, что 1223-1228 эти же самые персоны.
Можно еще вопрос?
Правомерно использовать в программе курсор с созданием для него индекса, чтобы пользоваться SEEK?
Благодарю.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33429255
Oopyr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как Игорь уже объяснил поле Integer (Autoinc) - для Вашего внутреннего употребления и показывать его юзеру не надо.
Показывайте табельный номер работника, серийный номер детали, исходящий номер документа итд, т.е. цифры, которые для юзеров имеют смысл.

авторПравомерно использовать в программе курсор с созданием для него индекса, чтобы пользоваться SEEK?

Вполне.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33897370
eadd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
объясните пожалуйста такую ситуацию:
есть поле integer(autoinc) в тблице - ddd.dbf
таблицу я делал у себя на локальном компьютере
затем скопировал её на сервер для работы и
ч/з некоторое время (я не знаю) это поле уже стало
не integer(autoinc) а просто integer...
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33897413
AlikWishin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Лисонька

Проверяй перед добавлением на уникальность информации если документ с № 1 от 03,08,06 на предприятие уже есть, то выдай сообщение, если нет то добавляй

И тогда твой IDCod будет без "Дырок"
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33897645
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 eadd

Вы справшиваете почему???
ну .... это ...

а так можно и проверку поставить
17 колонка в массиве afield() Вам скажет о том аутоинкр или нет
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33897764
eadd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такое изменение не связано, что таблицу создавал
в одном месте, а потом положил в другое?
(я и хочу выяснить чего не надо делать...)
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33898024
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
создавать в одном месте
а затем в другое перекладывать

ну честно, ну фиг его..
ну ты же там рядом
ну положи еще раз и посмотри

ну вроде не было такого
а так если все в БД
там есть влож.процедуры

так вот на
юз этой таблы
или на опен БД можешь проверить тип поля

он тебе и скажет - караул
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33899338
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛисонькаПопробую еще раз разъяснить свой вопрос.
Программа у меня работает номально, дублирующиеся записи не допускаются кандидат-индексом. Меня просто смущает другое: если пытаешься внести в таблицу дублирующуюся ифнформацию, происходит обработка ошибки, новая запись НЕ ДОБАВЛЯЕТСЯ, но значение поля 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.
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33899697
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kruchinin Pahan буферизация???

5??
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33899763
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100Kruchinin Pahan буферизация???
5??
Какая разница, 5-я или 3-я, если в примере у каждого по 1-ой row?
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33899869
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
разница очень большая
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33899943
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100разница очень большая
Конкретизируй пожалуйста, в чем разница для счетчика?
...
Рейтинг: 0 / 0
Вопрос про Integer Field Type и изменение его значения
    #33900064
Проходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где и кто в рассматриваемом случае обнаружил СЧЕТЧИК? И где вообще в фоксе обнаружился такой предмет? Ткните меня, неразумного, носом? И почему от обычного integer, хоть и с автоинкрементом, хотят получить поведение как у счетчика записей? Почему от такого поля все время пытаются добиться непрерывности значений? Он для этого предназначен?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про Integer Field Type и изменение его значения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]