我正在寻找有关在 C++ 中使用 neo4j_client 的示例。在测试套件中,我看到了 neo4j_result_t,但没有按名称迭代或调用字段的示例。那可能吗?
问问题
215 次
1 回答
1
结果以 a 形式返回neo4j_result_stream_t
,它表示结果行的流。结果中的列数可以通过 获得neo4j_nfields
,它们的名称可以通过获得neo4j_fieldname
,两者都以neo4j_result_stream_t
指针为参数。
要遍历结果行,请使用neo4j_fetch_next
which 返回 a neo4j_result_t
。要从行(字段)中提取每一列的值,请将指针传递给neo4j_result_field
(连同列的索引)。
一个例子是这样的:
neo4j_result_stream_t *results =
neo4j_run(session, "MATCH (n) RETURN n.name, n.age", neo4j_null);
if (results == NULL)
{
neo4j_perror(stderr, errno, "Failed to run statement");
return EXIT_FAILURE;
}
int ncolumns = neo4j_nfields(results);
if (ncolumns < 0)
{
neo4j_perror(stderr, errno, "Failed to retrieve results");
return EXIT_FAILURE;
}
neo4j_result_t *result;
while ((result = neo4j_fetch_next(results)) != NULL)
{
unsigned int i;
for (i = 0; i < ncolumns; ++i)
{
if (i > 0)
{
printf(", ");
}
neo4j_value_t value = neo4j_result_field(result, i);
neo4j_fprint(value, stdout);
}
printf("\n");
}
于 2016-10-23T23:02:00.923 回答