Russian Qt Forum
Сентябрь 30, 2024, 10:18 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Правила преобразования типов MySql в типы Qt ?  (Прочитано 4493 раз)
Cyrax
Гость
« : Январь 05, 2008, 09:55 »

В какой Qt-тип преобразуется MySQL'кий тип ENUM ?
И можно ли каким-либо образом задавать правила преобразования типов ?
Записан
baka
Гость
« Ответ #1 : Январь 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));
};
« Последнее редактирование: Январь 05, 2008, 18:31 от baka » Записан
Dodge
Гость
« Ответ #2 : Январь 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());
Записан
Steven_Orko
Гость
« Ответ #3 : Январь 08, 2008, 20:59 »

Можт я чтото не понимаю, но зачем огород такой? 0_о

Читайте внимательно, и не будет таких  Непонимающий вопросов!!!
Записан
Cyrax
Гость
« Ответ #4 : Январь 09, 2008, 18:17 »

Цитировать
В какой Qt-тип преобразуется MySQL'кий тип ENUM
В тип QString. Строка содержит имя константы enum'а MySQL.
Записан
Dodge
Гость
« Ответ #5 : Январь 10, 2008, 13:20 »

Читайте внимательно, и не будет таких  Непонимающий вопросов!!!
Во!
Вот так и нада отвечать на вопросы, этот огород нужен чтоб проверить в какой тип можно преобразовать данный тип. Спс орко Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.134 секунд. Запросов: 20.