Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Региональные настройки


Автор: Garmahis 30.5.2006, 14:11
И так есть MS SQL Server 2000 пашуший под MS Windows 2000 Server и куча пользовательских машин c XP. У пользователей могут быть разные региональные настройки всмысле например разные знаки разделяющие рубли от копеек и тд. В таблицах базы данных есть то же разные поля и money и real. Поэтому при записи в таблицу очень часто возникает ошибка. Что тут можно сделать? Можно ли програмно поменять значения или привести их к некому общему разделителю? 
Например такая проблема:
Код

INSERT INTO RNumber VALUES ('P1',1,0,'11(88)','10.06.2006',0,0,48000,'Paper1','1/2',48000,'qwetrqwt','4 колеса','sdhsah',0,0,5,'01.01.0100')

Обратите внимание если идти с конца там сначчала идёт дата а потом 5 и 0. Тока на самом деле это не в два разных столбца вставляются две разные цифры а в один риал вставляется число 0.5 просто у пользователя по умолчанию стоит что дробную часть от целой отделять запятой! 

Автор: Vit 30.5.2006, 16:12
Использовать параметры, тогда все операции по конвертации региональных настроек цифр и дат будет делать сервер а не вы 

Автор: Garmahis 30.5.2006, 16:36
Большое спасибо!!! Я нашёл другое решение я задаю DecimalSeparator, а потом возвращаю ему исходное значение. Но ваш способ мне больше нравиться smile 

Автор: Vit 30.5.2006, 19:47
Цитата(Garmahis @  30.5.2006,  07:36 Найти цитируемый пост)
Большое спасибо!!! Я нашёл другое решение я задаю DecimalSeparator, а потом возвращаю ему исходное значение. 



Тогда возникнут проблемы с датами или временем или ещё с чем-нибудь... Лучше через параметры. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)