Russian Qt Forum

Qt => Базы данных => Тема начата: diver6413 от Декабрь 04, 2009, 13:40



Название: Приведение типов данных mysql к QVariant
Отправлено: diver6413 от Декабрь 04, 2009, 13:40
имеется 3 столбца в mysql: INTEGER, CHAR(255), DOUBLE
при чтении записи из таблицы возвращается
QVariant(int, 2),  QVariant(QString, "string"),  QVariant(QString, "0.5").

Собственно вопрос, какой тип данных в mysql будет конвертирован в QVariant(double, 0.5)?


Название: Re: Приведение типов данных mysql к QVariant
Отправлено: BRE от Декабрь 04, 2009, 13:42
имеется 3 столбца в mysql: INTEGER, CHAR(255), DOUBLE
при чтении записи из таблицы возвращается
QVariant(int, 2),  QVariant(QString, "string"),  QVariant(QString, "0.5").

Собственно вопрос, какой тип данных в mysql будет конвертирован в QVariant(double, 0.5)?
double QVariant::toDouble ( bool * ok = 0 ) const


Название: Re: Приведение типов данных mysql к QVariant
Отправлено: diver6413 от Декабрь 04, 2009, 14:43
это понятно, но хотелось бы double из mysql получать все таки в виде double напрямую


Название: Re: Приведение типов данных mysql к QVariant
Отправлено: MoPDoBoPoT от Декабрь 04, 2009, 16:20
Может это связано с тем, что:
Цитата: QtAssistant
Some databases support numerical values with a precision that is not storable in a C++ basic data type. The default behavior is to bind these values as a QString.
см. void QSqlQuery::setNumericalPrecisionPolicy ( QSql::NumericalPrecisionPolicy precisionPolicy )