我想从 feed 表中显示一些东西,比如 temperature_c/f 和 web 上的时间,因为我使用 JavaScript 和 CppCms(C++ 框架到 web 应用程序)
我有一个错误,不知道如何解决。
这是 feed.cpp 类中的一个函数,在那个函数之后我得到了错误
此方法接收城市 ID 和会话
feed* feed::get_latest(cppdb::session* session, int c_id)
{
fprintf (stderr, "\nnum 0\n");
int id = 0;
id 是 int 和 autoincrement 值,参考MAX(id)
这个返回查询特定城市的最新更新
cppdb::statement stat = (*session)<<"SELECT MAX(id) FROM city WHERE city = ?;" << c_id;
fprintf (stderr, "\nnum 5\n");
cppdb::result result = stat.row();
fprintf (stderr, "\nnum 6\n");
if (result.empty() || result.is_null(0))
{
return NULL;
}
id = result.get<int>(0);
stat = (*session)<<"SELECT * FROM city WHERE id = ?;" << id;
result = stat.row();
if (! result.empty())
return new feed(result, c_id, session);
return NULL;
}
有错误
main in rest api /city/5/feed/
query string
method : GET
num 0
num 5
2014-08-12 18:28:19; cppcms, error: Caught exception [cppdb::posgresql: query execution failed : ERROR: input of anonymous composite types is not implemented
]
(http_context.cpp:139)
解释:
我使用此方法 ( fprintf (stderr, "\nnum 6\n");
) 来查找错误位置。我们可以看到错误出现在 num 5 到 num 6 之间。
就在这儿:
fprintf (stderr, "\nnum 5\n");
cppdb::result result = stat.row();
fprintf (stderr, "\nnum 6\n");
我该如何解决?