【问题标题】:How to read "dates" from database using Poco C++ library如何使用 Poco C++ 库从数据库中读取“日期”
【发布时间】:2012-09-25 00:07:04
【问题描述】:

我是 POCO 库的新手。我需要从 SQL Server 读取 DateTime 字段(使用 ODBC Native Client 连接)。我在阅读字符串或数字时没有问题,但是 Dates 或 Timestamps 给我带来了困难……我不确定是否应该使用 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 &'

非常感谢...

【问题讨论】:

    标签: c++ database date timestamp poco-libraries


    【解决方案1】:

    好的,目前我似乎无法从数据库中读取日期或时间。我在 Poco 论坛上发现了这条评论:

    对日期、时间和日期时间的支持在 SVN 主干中,并将在 在 1.5 中引入。释放。

    此链接用于获取最新版本的 Extractor 类:http://poco.svn.sourceforge.net/viewvc/poco/poco/trunk/Data/ODBC/src/Extractor.cpp?revision=1904&view=markup

    在这个类中,我可以看到对两个新类 Poco::Data:Date 和 Poco::Data::Time 的引用。

    您可以在这里阅读原文:http://pocoproject.org/forum/viewtopic.php?f=12&t=5492&p=9272&hilit=data+datetime#p9272

    我将获取最新版本并尝试。

    谢谢

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 2019-07-11
      • 2021-01-04
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 2017-08-20
      • 2010-11-01
      • 1970-01-01
      相关资源
      最近更新 更多