我正在执行数据库(PostgreSQL
)查询。
Сomment
列具有“文本”数据类型。
SELECT Comment FROM table WHERE id = 1;
RecordSet result = query->execute("");
bool more = result .moveFirst();
while (more)
{
std::string comment = result["Comment"].convert<std::string>());
or
std::string comment = result["Comment"].extract<std::string>());
more = result.moveNext();
}
我遇到异常
Poco :: SQL :: UnknownTypeException
如何在不更改数据库数据类型的情况下读取字段?
答案 0 :(得分:0)
我想通了
Poco::SQL::MetaColumn::ColumnDataType type = result.columnType("Comment");
类型为Poco :: SQL :: MetaColumn :: ColumnDataType :: FDT_CLOB
Poco::SQL::CLOB comment = response["Comment"].extract<Poco::SQL::CLOB>();
如果POCO版本<1.9.1
,请使用相同的https://github.com/pocoproject/poco/issues/2566