powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / гон с длиной поля numeric
16 сообщений из 16, страница 1 из 1
гон с длиной поля numeric
    #34787082
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите плиз

создаю таблицу из программы (из VB6) работаю через драйвер vfp9

при созданипи полей типа numeric длина поля в полях короче 10 знаков автоматически увеличивается на 1, а с плавающей точкой наоборт, нехватает 1-го знака, в больших полях длина верная, та что я задаю, что за баг, хелпните плиз, у меня пакеты не принимает вышестоящая организация, они к длине поля докапываются!
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787088
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы попали на сайт Fox Pro, а не сайт экстрасенсов!!! В чем Вам помочь? что Вы задаете?
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787093
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я вроде все вполне ясно написал

создаю поле в таблице длиной 4 к примеру, а оно создается длиной 5
numeric(4) = 5 цифирь вталкивается
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787097
MiklS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой командой Вы создаете поле в таблице?
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787350
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MiklSКакой командой Вы создаете поле в таблице?

create table xxx(bbb numeric(4)) - в итоге длина поля bbb равна 5 символам!
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787357
И как это было проверено? Неужто трудно нарисовать пример в две-три строчки, демонстрирующий описываемый эффект?
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787378
а если вот так?
create table xxx(bbb numeric(4,0))
тогда на точку не будет резервироваться, хотя может я и не прав.
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787700
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
create table qqq (bbb n( 4 ))
поле bbb имеет размерность 4 знака. По крайней мере в фоксе. 4 и 4,0 одинаково. В dbf тип Numeriс хранится как строка: один разряд - один байт, соответственно знаки "-" и "." занимают 1 байт, но только если присутствуют. Например N(6,1) - это 4 знака под целую часть 1 под дробную и 1 под точку. Если дробная часть 0 - точка не хранится. Можешь сам поэксперементировать (в блокноте dbf открой и смотри)
Если где-то происходит +1 (хочешь 4 получается 5) сделай 3.
А чем они читают? По большому счету 4 или 5, без разницы, главное не меньше. Если там не фокс, то наиболее вероятны проблемы с заголовком dbf. Начиная с VFP5 он немного отличается от стандартного DBF (имя базы туда добавилось)
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787704
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чего тут рисовать?! как создал таблицу я нарисовал, а проверил просто... открыл вьювером dbf базеху и втолкал туда цифри в нужном количестве...

эксперементировать я начал из-за того что мне на это указали, в конторе все серьезно, стоит проверка целостности и потому пакеты с минимальными отклонениями, даже такими как несоответсвтвенная длина поля не загружаются...
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787768
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T
Код: plaintext
create table qqq (bbb n( 4 ))
поле bbb имеет размерность 4 знака. По крайней мере в фоксе. 4 и 4,0 одинаково. В dbf тип Numeriс хранится как строка: один разряд - один байт, соответственно знаки "-" и "." занимают 1 байт, но только если присутствуют. Например N(6,1) - это 4 знака под целую часть 1 под дробную и 1 под точку. Если дробная часть 0 - точка не хранится. Можешь сам поэксперементировать (в блокноте dbf открой и смотри)
Если где-то происходит +1 (хочешь 4 получается 5) сделай 3.
А чем они читают? По большому счету 4 или 5, без разницы, главное не меньше. Если там не фокс, то наиболее вероятны проблемы с заголовком dbf. Начиная с VFP5 он немного отличается от стандартного DBF (имя базы туда добавилось)

-1 в длине я и сделал, но это же изврат? это прокатило, но дробные - дробные проверку так и не проходят, там была обратная беда, нехватало 1 символа, я его +1 сделал, но утилита проверки целостности структуры не берт эти поля, говорит что-то не так (их перечисляет к тому же), а что именно не говорит, хотя длину в символах показывает вроде как правильную...
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787801
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LionDev-1 в длине я и сделал, но это же изврат? это прокатило, но дробные - дробные проверку так и не проходят, там была обратная беда, нехватало 1 символа, я его +1 сделал, но утилита проверки целостности структуры не берт эти поля, говорит что-то не так (их перечисляет к тому же), а что именно не говорит, хотя длину в символах показывает вроде как правильную... Согласен, изврат. Где именно не скажу - в самом VFP N(4) создает N(4) а не 5. Попробуй другие драйвера для DBF.
Как вариант - возьми пустую dbf с правильным форматом, копируй, а потом заполняй. Тоже изврат, но проблема со структурой снимется.
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34787816
Ну если рисовать нечего, то ответ может быть только один - а у нас работает правильно и ничего никуда не добавляет и не прибавляет. Ищите ошибки в коде и/или в знании фокса.
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34788014
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.Ну если рисовать нечего, то ответ может быть только один - а у нас работает правильно и ничего никуда не добавляет и не прибавляет. Ищите ошибки в коде и/или в знании фокса.

вот тока не в фоксе я делаю это, я это через Jet делаю посредством провайдера vfp9 из vb6, в том то вся и сложность...
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34788026
LionDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T Согласен, изврат. Где именно не скажу - в самом VFP N(4) создает N(4) а не 5. Попробуй другие драйвера для DBF.
Как вариант - возьми пустую dbf с правильным форматом, копируй, а потом заполняй. Тоже изврат, но проблема со структурой снимется.

а может подскажешь где драйвер другой поискать, я только на сайте мелкософта нашел... мнеб вообще компонент для работы с этой ... из VB былоб еще лучше...
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34788055
Последний VFP OLE DB Provider как раз на сайте мелкософта и лежит.
...
Рейтинг: 0 / 0
гон с длиной поля numeric
    #34788298
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LionDevа может подскажешь где драйвер другой поискать, я только на сайте мелкософта нашел... мнеб вообще компонент для работы с этой ... из VB былоб еще лучше... Может в форуме по VB поспрашивать? При работе в фоксе никакие дрова для доступа к DBF не нужны, поэтому тут тебе мало кто подскажет.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / гон с длиной поля numeric
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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