|
|
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Товарищи, с сервера возвращается курсор с числовым полем типа Decimal (18,2). У чисел, имеющих в целой части 0, не отображается этот самый 0. Т.е. вот так это выглядит F1 100.23 86.43 .23 1.23 .00 Что делать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 12:48 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
F1 100.23 86.43 .23 1.23 .00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 12:49 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Трусняки Программизда02Товарищи, с сервера возвращается курсор с числовым полем типа Decimal (18,2). У чисел, имеющих в целой части 0, не отображается этот самый 0. Т.е. вот так это выглядит F1 100.23 86.43 .23 1.23 .00 Что делать ? А в чем проблема? Для чего Вам этот ноль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 13:37 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Sergey Ch Трусняки Программизда02Товарищи, с сервера возвращается курсор с числовым полем типа Decimal (18,2). У чисел, имеющих в целой части 0, не отображается этот самый 0. Т.е. вот так это выглядит F1 100.23 86.43 .23 1.23 .00 Что делать ? А в чем проблема? Для чего Вам этот ноль? Проблема в том, что в гриде также отображается с отсеченным нулем. Дело конечно можно поправить с помощью InputMask = '9999999999.99' на колонку. Но не хотелось бы. Самое интересное, что если создать курсор в фоксе, типа create cursor test (f1 n(18,2)) и вставить туда 0, то в курсоре появится 0.00. А почему-то при заполнении курсора значениями с сервера, ноль в целой части отсекается. И еще, если в QA посмотреть содержимое таблиц, то там также ноль в целой части отсекается у подобных значений с. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 13:44 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Как отображаются числа, с количеством знаков в целой части больше 3? 12345.78 Если они отображаются в виде 12 345.78 А когда ставишь на них фокус, то в виде 12 то у Вас проблемы с настройками DSN. Там надо убрать птичку с пукта "Use regional settings when outputting currency, numbers, dates, and times" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 14:19 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
ВладимирМКак отображаются числа, с количеством знаков в целой части больше 3? 12345.78 Если они отображаются в виде 12 345.78 А когда ставишь на них фокус, то в виде 12 то у Вас проблемы с настройками DSN. Там надо убрать птичку с пукта "Use regional settings when outputting currency, numbers, dates, and times" Числа с количеством знаков в целой части больше 3 отображаются нормально. Проблема только с нулем в целой части. Коннекчусь к серверу через SQLSTRINGCONNECT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 14:29 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Еще одно интересное наблюдение. Если выполнить вот эту команду над полем курсора UPDATE F1 SET F1 = CAST(F1 AS n(18,2)), то 0 в целой части появляется. Такое впечатление, что тип decimal сервера не совсем совместим с типом numeric фокса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2005, 14:42 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Hi .... Это известная проблема, возникает регулярно и с разными типами серверов - дело в том, что BROWSE показывает данные так, как они физически храняться в курсоре - а в курсоре храниться то, что получено через ODBC - т.е. в твоём случае комбинация настроек сервера, ODBC драйвера и возможно ОС вызвала то, что физически данные пришли без ведущего нуля. Это ещё ничего - иногда они приходят с пробелами внутри (о чём говорил Владимир) или с запятой вместо десятичной точки - тогда вообще всё страшно глючит :( Лечиться это всё обычно настройкой ODBC драйвера (в т.ч. сменой его на другой), самого сервера (возможно просто настройки уровня сессии стоит подкрутить). Если у тебя используется RV а не прямой запрос, то можно явно указать использование типа данных Double - его физическая форма не предполагает хранения числа в виде "строки" (как это происходит для типа Numeric) а значит проблемы не будет. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2005, 01:55 |
|
||
|
Отсечения нуля в целой части при возврате курсора с MSSQL
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov Если у тебя используется RV а не прямой запрос, то можно явно указать использование типа данных Double - его физическая форма не предполагает хранения числа в виде "строки" (как это происходит для типа Numeric) а значит проблемы не будет. Posted via ActualForum NNTP Server 1.2 Использую ХП, по сути прямой селект. Пока варианта решения проблемы у меня два: 1) Посадить на числовую колонку InputMask = "9999999999.99" 2) Перед привязкой курсора к гриду, сделать по "проблемным" колонкам апдейт, вида UPDATE F1 = CAST(F1 AS n(18,2)),F2 = CAST(F1 AS n(18,2)),... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2005, 08:28 |
|
||
|
|

start [/forum/topic.php?fid=41&gotonew=1&tid=1594178]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
192ms |
get topic data: |
11ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 539ms |

| 0 / 0 |
