c++ - 使用 pqexecparams 通过 libpq 插入点

标签 c++ c postgresql libpq

我正在尝试使用 C++ 将一个点插入到 Postgresql 表中。这是我到目前为止所拥有的:

const char * paramValues[1];
paramValues[0] = "{100,200}";
res = PQexecParams(conn, "insert into test (pt) values ($1::point)", 1, NULL, paramValues, NULL, NULL, 0);

它给出错误:“类型点的输入错误无效”

我应该使用什么来代替 {100,200}?我也尝试过 paramValues[0] = "point(100,200)";

最佳答案

paramValues[0] = "100,200"; 就可以了。

我还将为复合类型添加 () 围绕值,如下所示: paramValues[1] = "(10.25, some name)" 表示使用 create type foo (some_real real, some_name varchar(100))

创建的类型

关于c++ - 使用 pqexecparams 通过 libpq 插入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173609/

相关文章:

c++ - 连接 Haskell 和 C++

在不知道缓冲区大小的情况下将整数转换为字符串

PostgreSQL:如何在我自己的 C 函数中创建一个数字范围?

c++ - 如何在 C++ 11 中迭代 std::tuple

c++ - 带有获取/设置方法的封装设计味道

c++ - 有符号和无符号整数表达式与 0x80000000 之间的比较

c - 如何在 C 中解析字符串?

c - C语言中delay()和sleep()的区别?

sql - PostgreSQL - 使用 select 语句更新表

PostgreSQL 列索引查询优化问题