Как читать & quot; даты & quot; из базы данных с использованием библиотеки Poco C ++

Я новичок в библиотеках POCO. Мне нужно прочитать поле DateTime с SQL Server (подключен с помощью ODBC Native Client). У меня нет проблем с чтением строк или чисел, однако даты или временные метки доставляют мне затруднения … Я не совсем уверен, стоит ли мне использовать Poco :: Timestamp для этого. Очевидно нет.

#include <vector>
#include <iostream>

#define POCO_STATIC

#include <Poco/DateTime.h>
#include <Poco/DateTimeFormat.h>
#include <Poco/DateTimeFormatter.h>
#include <Poco/SharedPtr.h>
#include <Poco/Tuple.h>
#include <Poco/Data/SessionFactory.h>
#include <Poco/Data/Session.h>
#include <Poco/Data/ODBC/Connector.h>

using namespace Poco::Data;

int main() {
typedef Poco::Tuple<std::string, Poco::Timestamp> Event;
typedef std::vector<Event> Events;

Poco::Data::ODBC::Connector::registerConnector();
Session session("ODBC", "DSN=TestSNAC");

Events events;

Statement select(session);
select << "select Name, StartDate from Events order by Name", into(events), now;

for (Events::const_iterator it = events.begin(); it != events.end(); it++) {
std::string date(Poco::DateTimeFormatter::format(it->get<1>(), "%b %e, %Y"));

std::cout << " Name: " << it->get<0>()
<< " Start: " << date << std::endl;
}

return 0;
}

Я получаю следующую ошибку во время компиляции в строке 27 (это та, которая начинается с ‘select << «выберите имя …):

error C2664: 'bool Poco::Data::AbstractExtractor::extract(size_t,Poco::Int8 &)' : cannot convert parameter 2 from 'Poco::Timestamp' to 'Poco::Int8 &'

Огромное спасибо…

3

Решение

Хорошо, похоже, что в настоящее время я не могу прочитать даты или время из базы данных. Я нашел этот комментарий на форуме Poco:

Поддержка Date, Time и DateTime находится в соединительной линии SVN и будет
введено в 1.5. релиз.

Эта ссылка включена для получения последней версии класса Extractor: http://poco.svn.sourceforge.net/viewvc/poco/poco/trunk/Data/ODBC/src/Extractor.cpp?revision=1904&Вид = разметки

В этом классе я вижу ссылки на два новых класса Poco :: Data: Date и Poco :: Data :: Time.

Вы можете прочитать оригинальный пост здесь: http://pocoproject.org/forum/viewtopic.php?f=12&т = 5492&р = 9272&hilit = данные + DateTime # p9272

Я получу последнюю версию и попробую.

Спасибо

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]