libneo4j_client. c++中的预处理语句
Prepared statements in C++ libneo4j_client?
neo4j_run API允许您输入映射,但我不知道查询的语法。在python中,这是一个简单的{x}
。我找不到neo4j_map
语法的示例。
const char *q = "MATCH (p:Person) WHERE p.age > {age} RETURN p.name AS name, p.age as AGE";
neo4j_run(session, q, my_map)
我应该如何(a)构造my_map
和(b)指示查询中的字段?
UPDATE:对于第一部分,这个测试展示了如何构造映射。为了清楚起见,复制到这里:
START_TEST (invalid_map_value)
{
neo4j_map_entry_t map_entries[] =
{ { .key = neo4j_string("bernie"), .value = neo4j_int(1) },
{ .key = neo4j_int(1), .value = neo4j_int(2) } };
neo4j_value_t value = neo4j_map(map_entries, 2);
ck_assert(neo4j_is_null(value));
ck_assert_int_eq(errno, NEO4J_INVALID_MAP_KEY_TYPE);
}
END_TEST
作为第三个参数传递给neo4j_run
的映射是查询的参数。构造映射需要一个包含条目及其长度的数组。如果它只是一个单条目映射,你可以传递一个指向单个neo4j_map_entry_t
的指针。例如:
const char *q = "MATCH (p:Person) WHERE p.age > {age} RETURN p.name AS name, p.age as AGE";
neo4j_map_entry_t map_entry = neo4j_map_entry("age", 28);
neo4j_value_t params = neo4j_map(&map_entry, 1);
neo4j_run(session, q, params);
如果有多个参数,则构建一个map条目数组,例如:
const char *q = "MATCH (p:Person) WHERE {min_age} < p.age < {max_age} RETURN p.name AS name, p.age as AGE";
neo4j_map_entry_t map_entries[2];
map_entries[0] = neo4j_map_entry("min_age", 28);
map_entries[1] = neo4j_map_entry("max_age", 30);
neo4j_value_t params = neo4j_map(map_entries, 2);
neo4j_run(session, q, params);
您还可以使用初始化器构建map_entry_t,就像您复制的示例测试一样。但通常使用neo4j_map_entry
构造函数更清晰。
相关文章:
- 错误:无效的预处理指令 #i 的意思是 #if?
- C++预处理会生成变量成员、资源库和映射
- 使用预处理指令检查是否包含标头?
- 预处理的 C/C++ 文件是否特定于计算机?
- 是否可以对任何语句字符串使用预准备语句?
- 使用 GCC 对 C 文件进行部分预处理(不删除 "define" 指令)
- 在 CPLEX 中求解线性规划,无需剪切和预处理
- CPP -D 选项,用于预处理 Fortran 代码
- 错误:粘贴"tmp_UINT"和"+"未提供有效的预处理令牌
- 任务计划程序库的预处理不起作用 - 多定义错误
- Eclipse 问题 - 编译期间不考虑 .c 和 .cpp 文件中定义的预处理
- 使用python预处理后,C++(opencv)中的垫子类型数据与image_to_array相同
- Howo 使用 cl 预处理为 masm 组装生成一个单独的文件
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如何使用Visual Studio C/C++编译器(cl.exe)来预处理我的objective-C代码
- C++ SQLite3 不使用预准备语句删除
- libneo4j_client. c++中的预处理语句
- 组织sqlite3 C/ c++预处理语句(避免全局代码混乱)
- 包含预处理指令的多行宏语句
- MySQL连接器中的预处理语句