Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [Qt4] Не конвертирует рождение Иисуса в DateTime, QSqlQuery.value().toDateTime при всех 0 
V
    Опции темы
null56
Дата 17.9.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



Добрый всем вечер...
Хотел поинтересоваться одним вопросом:
1) У меня есть СУБД MySql с полями типа timestamp
2) У меня идут запросы из базы, после чего осуществляется преобразование
Код

m_LastStateChange = rSqlQuery.value(6).toDateTime();

3) Это работает с одним НО...

Но....
если в базе лежит значение: 0000-00-00 00:00:00
Переменная остается пустой...

Вопрос:
Почему?
Это в классе или в мускуле какие - то фичи?

Заранее благодарен за помощь

ЗЫ: нулевое значение я не вставляю, это значение по умолчанию


PM MAIL   Вверх
SABROG
Дата 17.9.2009, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(null56 @ 17.9.2009,  17:28)
Добрый всем вечер...
Хотел поинтересоваться одним вопросом:
1) У меня есть СУБД MySql с полями типа timestamp
2) У меня идут запросы из базы, после чего осуществляется преобразование
Код

m_LastStateChange = rSqlQuery.value(6).toDateTime();

3) Это работает с одним НО...

Но....
если в базе лежит значение: 0000-00-00 00:00:00
Переменная остается пустой...

Вопрос:
Почему?
Это в классе или в мускуле какие - то фичи?

Заранее благодарен за помощь

ЗЫ: нулевое значение я не вставляю, это значение по умолчанию

Код

Не конвертирует рождение Иисуса 


"0000-00-00 00:00:00", это не валидная дата. Должна быть такая " 0001-01-01 00:00:00"


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
null56
Дата 17.9.2009, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



SABROG, спасибо
тогда можно просто в мускуле задать значение по умолчанию: 0001-01-01 00:00:00

Добавлено @ 19:45
интересно... если нулевой месяц и нулевую дату я проспал, то чего ему нулевой год тоже не нравится? или нулевой год можно всё таки... попробую

Это сообщение отредактировал(а) null56 - 17.9.2009, 19:46
PM MAIL   Вверх
SABROG
Дата 17.9.2009, 20:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Цитата(null56 @ 17.9.2009,  19:43)
SABROG, спасибо
тогда можно просто в мускуле задать значение по умолчанию: 0001-01-01 00:00:00

Добавлено @ 19:45
интересно... если нулевой месяц и нулевую дату я проспал, то чего ему нулевой год тоже не нравится? или нулевой год можно всё таки... попробую

Нельзя нулевой год. Минусовой (до рождества Христова) пожалуйста, а вот нулевой - кирдык, получишь Invalid объект QDateTime.


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
null56
Дата 18.9.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



SABROG, а как ручками задать дату... у меня не получается... хочу просто поиграть с этим объектом? если не сложно, подскажи, пожалуйста... просто читаю и не втыкаю, как они хотят, чтобы я из строки задавал значение...
Код

QDateTime time;
// ни так
time.fromString("1999-02-13 13:13:13", Qt::ISODate);
// ни так не получается
time.fromString(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss")); // "yyyy-MM-ddThh:mm:ss");
    //qDebug("%s", QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss").toStdString().c_str());
    time.isValid() ? qDebug("Valid") : qDebug("Invalid");
    qDebug("Date: %s", time.toString().toStdString().c_str());


Это сообщение отредактировал(а) null56 - 18.9.2009, 11:07
PM MAIL   Вверх
SABROG
Дата 18.9.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 81
Всего: 91



Обрати внимание на то, что эти методы статические, стало быть не могут изменить внутреннее содержимое конкретного объекта QDateTime и как следствие этого результат своей работы возвращается по return и его нужно еще и присваивать.

Код

QDateTime time;
time = QDateTime::fromString(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss"));



--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
null56
Дата 18.9.2009, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 721
Регистрация: 19.3.2008

Репутация: 6
Всего: 12



блин...
туплю...

Добавлено через 1 минуту и 40 секунд
извиняюсь...

Добавлено через 4 минуты и 30 секунд
SABROG, спасибо еще раз

Это сообщение отредактировал(а) null56 - 18.9.2009, 15:25
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.