【发布时间】:2017-02-09 15:29:50
【问题描述】:
我正在尝试创建客户端/服务器应用程序,但是我在服务器应用程序中遇到了问题。我希望服务器应用程序接受来自客户端应用程序的包含多个变量的结构,然后在“INSERT INTO”psql 语句中使用这些变量值。但是,正如标题所暗示的,我对如何编写代码有疑问。下面,您将找到我的代码的相关部分:
struct PersonInfo* buffer = (struct PersonInfo*)malloc(sizeof(struct
PersonInfo));
recv(serv_sock_accept, buffer, sizeof(buffer), 0);
//**Connection to database using PGconn (PGconn connection)**
PGresult* res = PQexecParams(connection,
"INSERT INTO person(first_name, last_name, age) VALUES($1, $2, $3)",
3,
NULL,
buffer->person.fname, buffer->person.lname, buffer->age,
NULL,
NULL,
0);
我在声明变量值的行上不断收到编译错误,这使我相信我不能在 PQexecParams() 函数的这一行上声明多个值。我觉得我的方式是错误的,所以你们能指出我正确的方向吗?是否可以在一个 PQexecParams() 语句中的 Value 行上声明多个值?如果我将这三个值分解为它们自己的 PQexecParams() 语句,数据库将创建三个单独的条目,而不仅仅是一个。
非常感谢你们迄今为止为我提供的所有帮助!
【问题讨论】:
标签: c postgresql-9.5