登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: [pgsql]第一个连接 PostgreSQL 的 C/C++ 程序     [回主站]     [分站链接]
标题
[pgsql]第一个连接 PostgreSQL 的 C/C++ 程序
clq
浏览(0) + 2008-07-01 11:05:33 发表 编辑

关键字:

[pgsql]第一个连接 PostgreSQL 的 C/C++ 程序

连接异常的顺利,比我的第一个 mysql 连接程序还顺利,其效率也比想像中的好.
兄弟我混乱的代码如下:

--------------------------------------------------
PGconn * conn = PQconnectdb("host=127.0.0.1 user=root password=root dbname=ggtong port=5432");
if (PQstatus(conn) == CONNECTION_OK)
{

PGresult * res = NULL;
/*
res = PQexec(conn, "insert into kline_min (mark) values ( 1 )");
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
printf("pgsql failed: %s", PQerrorMessage(conn));
PQclear(res);

}
PQclear(res);
*/

//PQsetClientEncoding(conn, "UNICODE");
//PQsetClientEncoding(conn, "GBK");

//PGresult * res = PQexec(conn, sql.c_str());
res = PQexec(conn, sql.c_str());
printf("sql:%s\r\n", sql.c_str());
if (res != NULL)
{
int status = PQresultStatus(res);
if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK)
{
//这个应该是取字段的值
//char * res_userid = PQgetvalue(res, 0, 0);
//char * res_password = PQgetvalue(res, 0, 1);
//....
}
else
{
printf("pgsql failed: %s", PQerrorMessage(conn));
PQclear(res);
}
PQclear(res);
}
}
PQfinish(conn);
--------------------------------------------------
代码一般都不困难的,第一次难的一般都是如何 include lib 等等.
1. #include //pgsql 并且要添加相应的搜索路径.
2. 链接 libpq.lib ,同样要添加相应的搜索路径.
3. 运行时将提示没有的 dll 放到程序所在路径就可以了,这些 dl l都在 pgsql 的 bin 目录中.

我的 pgsql 环境是 windows 8.8.3-1 版本,值得一提的是我的编码外部环境是 gbk, 内部是 SQL-ASCII. 后者是 pg 的一个选择项目,我不知道为什么是这个奇怪的值,之所以不用 unicode 是因为用 mysql 5 时发生过某些中文不能插入的情况.


clq
2008-7-1 11:08:34 发表 编辑

参考
http://my.yesky.com/manual/postgresql_8.0_CN/libpq-example.html
http://www.pgsqldb.org/pgsqldoc-8.1c/libpq-build.html


总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1