VC6.0连接PostgreSQL9.2

来源:互联网 发布:网络教育学费多少 编辑:程序博客网 时间:2024/05/14 01:29

VC6.0连接PostgreSQL9.2

1、在windows下安装PostgreSQL9.2

2、建立VC6.0工程文件,并进行相应路径配置。

我的PostgreSQL安装路径为“C:\Program Files\PostgreSQL\9.2\”,

  • 在VC6.0中添加头文件路径:Tools->options->Directiories->includefiles,在Directorise中添加头文件路径“C:\Program Files\PostgreSQL\9.2\include”
  • 添加库文件路径:Tools->options->Directiories->Showdirectories,在Directorise中添加头问价路径“C:\Program Files\PostgreSQL\9.2\bin”及”C:\ProgramFiles\PostgreSQL\9.2\lib”。
  • 添加链接库,在Project->setting->Link->Object/librarymodules中添加双引号内容”libpq.lib”,注意与前面内容用空格隔开。

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;

 

}

 

输出结果为:


原创粉丝点击