![]() |
:: Главная :: Решения :: Статьи :: Проект "Русский help" :: Файловый архив :: Фотоальбом :: Ссылки :: | ![]() |
![]() |
Л и с о в о д ы в с е х с т р а н, о б ъ е д и н я й т е с ь !!! |
Почему возвращается только часть числа. Первые символы | ||
---|---|---|
Вопрос
При чтении числовых данных с SQL-сервера возвращается только часть числа. Первые символы или только целая часть без дробной части. Причина Причина в настройках конкретного соединения с SQL-сервера. Явно или не явно установлены региональные настройки. Обратите внимание, речь идет не о настройках собственно сервера, а о настройках соединения с сервером! Проблема здесь в том, что числовые данные как правило, конвертируются в поля типа Numeric в среде FoxPro. А поля типа Numeric в FoxPro физически хранятся как символьные данные. Это значит, что в принципе, в такое поле можно записать любой символ. Вот ODBC и записал, например, символ запятой в соответствии с региональной настройкой. Но при чтении данных для FoxPro символ запятой - это не есть символ, относящийся к числовым данным (символом-разделителем целой и дробной части непосредственно в таблице является точка). Следовательно, будут прочитаны как число только те символы, которые стоят ДО символа запятой. Решение Решение зависит от того, каким способом были установлены соответствующие настройки соединения. MS SQL - сервер Если Вы использовали для установки соединения предварительно настроенный DSN, то зайдите в настройки DSN-соединения и снимите "птичку" с настройки "Use regional settings when outputting currency, numbers, dates, and times" Если Вы использовали для установки соединения строку SQLStringConnect(), то убедитесь, что в ней нет опции Regional или же она имеет значение Regional=No Oracle - сервер Здесь придется явным образом менять настройку текущей сессии через прямую команду SQLExec() примерно так
![]() |
||
Тема | Просмотров | Написано | Написано |
---|---|---|---|
![]() |
6304 | Владимир Максимов | 24.02.06 18:19 |
![]() ![]() |
7598 | Владимир Максимов | 24.02.06 18:42 |
![]() ![]() |
7125 | Владимир Максимов | 24.02.06 19:13 |
![]() ![]() |
7174 | Владимир Максимов | 24.02.06 19:33 |
![]() ![]() |
7728 | Владимир Максимов | 24.02.06 19:44 |
![]() ![]() |
7485 | Владимир Максимов | 24.02.06 19:57 |
![]() ![]() |
6739 | Владимир Максимов | 24.02.06 20:11 |
![]() ![]() |
6829 | Владимир Максимов | 06.01.10 16:39 |
© 2006 Fox Club  |