gpt4 book ai didi

c++ - 如何使用 Poco C++ 库从数据库中读取 "dates"

转载 作者:太空狗 更新时间:2023-10-29 21:47:41 28 4
gpt4 key购买 nike

我是 POCO 库的新手。我需要从 SQL Server(使用 ODBC Native Client 连接)读取 DateTime 字段。我在读取字符串或数字时没有问题,但是日期或时间戳给我带来了困难......我不确定我是否应该使用 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 << "select Name... 开头的错误)进行编译时遇到以下错误:

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

非常感谢...

最佳答案

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

Support for Date, Time and DateTime is in SVN trunk and will be introduced in 1.5. release.

包含此链接以获取 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

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

谢谢

关于c++ - 如何使用 Poco C++ 库从数据库中读取 "dates",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719062/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com