我是一個帶有POCO庫的新手。我需要從SQL Server中讀取DateTime字段(使用ODBC Native Client連接)。閱讀字符串或數字我沒有問題,但日期或時間戳給我一個困難的時間...我不確定是否應該使用Poco :: Timestamp來完成此操作。顯然不是。如何使用Poco C++庫從數據庫中讀取「日期」
#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行中得到以下錯誤(即與啓動一個「選擇< <「選擇名稱...):
error C2664: 'bool Poco::Data::AbstractExtractor::extract(size_t,Poco::Int8 &)' : cannot convert parameter 2 from 'Poco::Timestamp' to 'Poco::Int8 &'
太謝謝你了...