Russian Qt Forum

Qt => Базы данных => Тема начата: Cyrax от Январь 05, 2008, 09:55



Название: Правила преобразования типов MySql в типы Qt ?
Отправлено: Cyrax от Январь 05, 2008, 09:55
В какой Qt-тип преобразуется MySQL'кий тип ENUM ?
И можно ли каким-либо образом задавать правила преобразования типов ?


Название: Re: Правила преобразования типов MySql в типы Qt ?
Отправлено: baka от Январь 05, 2008, 18:29
QVariant::type() возвращает QVariant::ByteArray

преобразовывается в :
int
uint
qlonglong
qulonglong
double
QString
QByteArray
QColor

проверял таким образом ...

создаем таблицу с enum'ом
Код:
CREATE TABLE `enum1` (
  `id` int(11) unsigned NOT NULL auto_increment,
  `enum2` enum('a','b','c') collate utf8_bin NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ;

далее ...
Код:
QSqlQuery query(G::getDB());
query.exec("SELECT id,enum2 FROM `enum1`;");
query.next();
QVariant var = query.value(1);
G::debug(" type = "+G::str((int)var.type()));

for(int i=0;i<127;++i) {
if(var.canConvert((QVariant::Type)i))
G::debug(QVariant::typeToName((QVariant::Type)i));
};


Название: Re: Правила преобразования типов MySql в типы Qt ?
Отправлено: Dodge от Январь 05, 2008, 19:47
Код:
QSqlQuery query(G::getDB());
query.exec("SELECT id,enum2 FROM `enum1`;");
query.next();
QVariant var = query.value(1);
G::debug(" type = "+G::str((int)var.type()));

for(int i=0;i<127;++i) {
if(var.canConvert((QVariant::Type)i))
G::debug(QVariant::typeToName((QVariant::Type)i));
};
Можт я чтото не понимаю, но зачем огород такой? 0_о

Код:
QVariant var = query.value(1);
qDebug << "type is" << QVariant::typeToName(var.type());


Название: Re: Правила преобразования типов MySql в типы Qt ?
Отправлено: Steven_Orko от Январь 08, 2008, 20:59
Можт я чтото не понимаю, но зачем огород такой? 0_о

Читайте внимательно, и не будет таких  ??? вопросов!!!


Название: Re: Правила преобразования типов MySql в типы Qt ?
Отправлено: Cyrax от Январь 09, 2008, 18:17
Цитировать
В какой Qt-тип преобразуется MySQL'кий тип ENUM
В тип QString. Строка содержит имя константы enum'а MySQL.


Название: Re: Правила преобразования типов MySql в типы Qt ?
Отправлено: Dodge от Январь 10, 2008, 13:20
Читайте внимательно, и не будет таких  ??? вопросов!!!
Во!
Вот так и нада отвечать на вопросы, этот огород нужен чтоб проверить в какой тип можно преобразовать данный тип. Спс орко ;D