VC6.0连接PostgreSQL9.2
1、在windows下安装PostgreSQL9.2
2、建立VC6.0工程文件,并进行相应路径配置。
我的PostgreSQL安装路径为“C:\Program Files\PostgreSQL\9.2\”,
3、在dos下用PostgreSQL用户postgres建立数据库testdb(用户要有建立数据库的权利,否则无法创建数据库)。
操作如下:
MicrosoftWindows XP [版本 5.1.2600]
(C) 版权所有1985-2001 Microsoft Corp.
C:\Documentsand Settings\Administrator>createuser -U postgres -d Administrator
C:\Documentsand Settings\Administrator>createdb testdb
C:\Documentsand Settings\Administrator>psql -U Administrator -d testdb
psql(9.2.2)
输入 "help" 来获取帮助信息.
testdb=>\d
找不到关联。
testdb=>\du
角色列表
角色名称 | 属性 | 成员属于
---------------+-----------------------------------+----------
Administrator | 建立 DB | {}
postgres | 超级用户, 建立角色, 建立 DB, 复制 | {}
testdb=>create table test(name char(20),age integer);
CREATETABLE
testdb=>insert into test(name,age) values('zhang san',22);
INSERT 01
testdb=>insert into test(name,age) values('li si',23);
INSERT 01
testdb=>insert into test(name,age) values('zhao wu',24);
INSERT 01
testdb=>insert into test(name,age) values("zhao wu",24);
錯誤: 欄位"zhao wu"不存在
第1行insert intotest(name,age) values("zhao wu",24);
^
testdb=>
VC下程序为:
#include<libpq-fe.h>
#include<iostream>
usingnamespace std;
intmain(int argc,char *argv[])
{
char pConnString[256];
sprintf(pConnString,"dbname=testdbuser=Administrator password=");
PGconn *conn;
conn=PQconnectdb(pConnString);
if(PQstatus(conn)!=CONNECTION_OK)
{
cout<<"connecterror!"<<endl;
PQfinish(conn);
return -1;
}
PGresult *res;
res=PQexec(conn,"select * fromtest");
if(PQresultStatus(res) == PGRES_TUPLES_OK&& PQntuples(res)>0)
{
cout<<"c_id is :"<<PQgetvalue(res,0,0)<<endl;
cout<<"c_name is :"<<PQgetvalue(res,0,1)<<endl;
}
PQclear(res);
PQfinish(conn);
return 0;
}
输出结果为:
因篇幅问题不能全部显示,请点此查看更多更全内容