- #include <stdio.h>
- #include <stdlib.h>
- #include <libpq-fe.h>
- int main(int argc, char * argv[])
- {
- PGconn *conn;
- PGresult * dataset;
- ConnStatusType pgstatus;
- char connstr[1024];
- char szSQL[2048];
- char * paramValues = NULL;
- int nParams = 0;
- sprintf(connstr, "hostaddr=%s dbname=%s port=%d user=%s password=%s",
- "192.168.192.168", "test", 5432, "testuser", "123456");
- conn = PQconnectdb(connstr);
- pgstatus = PQstatus(conn);
- if (pgstatus == CONNECTION_OK)
- {
- printf("Connect database success!\\n");
- }
- else
- {
- printf("Connect database fail:%s\\n", PQerrorMessage(conn));
- return 1;
- }
- sprintf(szSQL, "insert into tmptable(a,name) values(1,'aaaaaa')");
- dataset = PQexecParams(conn, szSQL, nParams, /* 参数个数 */
- NULL, /* 让后端推出参数类型 */
- (const char * const *) paramValues, NULL, /* 因为是文本,所以必须要参数长度 */
- NULL, /* 缺省是全部文本参数 */
- 0); /* 是否是二进制结果 */
- if ((PQresultStatus(dataset) == PGRES_COMMAND_OK)
- || (PQresultStatus(dataset) == PGRES_TUPLES_OK))
- {
- printf("Successfully execute SQL : %s\\n", szSQL);
- }
- else
- {
- printf("%s\\n", PQerrorMessage(conn));
- }
- /* 关闭数据库连接并清理 */
- PQfinish(conn);
- return 0;
- }
- //该片段来自于http://www.codesnippet.cn/detail/151120137197.html
来源: http://www.codesnippet.cn/detail/151120137197.html