Название: Oracle Разделитель целой и дробной части Отправлено: pokidoff от Май 19, 2011, 10:14 В базе хранятся вещественные числа. В системных настройках разделитель точка. При выборке из базы столбцы с вещественными числами имеют тип QVariant::String и имеют в качестве разделителя запятую. Что нужно сделать, чтобы выборка шла в соответствии с локалью?
Oracle 11.2, Qt 4.7.0, WinXP Pro Название: Re: Oracle Разделитель целой и дробной части Отправлено: GreatSnake от Май 19, 2011, 10:42 Цитировать При выборке из базы столбцы с вещественными числами имеют тип QVariant::String А почему не QVariant::Double?Цитировать Что нужно сделать, чтобы выборка шла в соответствии с локалью? Так с локалью или с настройками оракла?Название: Re: Oracle Разделитель целой и дробной части Отправлено: pokidoff от Май 19, 2011, 10:50 Цитировать Цитировать При выборке из базы столбцы с вещественными числами имеют тип QVariant::String А почему не QVariant::Double?Цитировать Цитировать Что нужно сделать, чтобы выборка шла в соответствии с локалью? Так с локалью или с настройками оракла?Название: Re: Oracle Разделитель целой и дробной части Отправлено: pokidoff от Май 19, 2011, 11:00 Решил
Код
Название: Re: Oracle Разделитель целой и дробной части Отправлено: MoPDoBoPoT от Май 19, 2011, 22:53 Цитировать Цитировать При выборке из базы столбцы с вещественными числами имеют тип QVariant::String А почему не QVariant::Double?Название: Re: Oracle Разделитель целой и дробной части Отправлено: GreatSnake от Май 20, 2011, 09:44 Цитировать Потому что в БД могут храниться числа с большей точностью. Читать про QSql::NumericalPrecisionPolicy А могут и не храниться. И что значит все числа будем хранить как строки? Бред...PS: упс, погорячился, упустил что 'QSql::HighPrecision - The default behavior'. Название: Re: Oracle Разделитель целой и дробной части Отправлено: pokidoff от Май 20, 2011, 10:01 У меня в проге стоит
Код И все равно колонки типа NUMBER(5,2) в QT попадают как QVariant:String А вот пример, работающий при любых системных настройках Код
Название: Re: Oracle Разделитель целой и дробной части Отправлено: GreatSnake от Май 20, 2011, 10:06 У меня в проге стоит Ну и зачем тогда тебе HighPrecision? Используй QSql::LowPrecisionDouble для таких чисел.Код И все равно колонки типа NUMBER(5,2) в QT попадают как QVariant:String Название: Re: Oracle Разделитель целой и дробной части Отправлено: pokidoff от Май 20, 2011, 15:26 Код: The default behavior is to bind these values as a QString. |