gacvd 发表于 2016-11-21 10:30:24

在c中嵌入sql操作PostgreSQL

这两天由于项目的原因,临时抱抱佛脚,学了学在C里嵌入sql来操作PostgreSQL的东西,写了一个小例子,包括连接数据库,创建表,插入数据,选择,更多的资料,可以参考PostgreSQL8.0的中文手册。  可以先使用文本编辑器书写.pgc文件,然后用PostgreSQL的安装目录下的bin里的ecpg,来把.pgc文件生成.c文件,然后再使用c编译器来生成对应的可执行程序,我在windows上,使用的是VC++,如果编译时提示找不到头文件或lib,可以把PostgreSQL安装目录下的include目录和lib目录引进来。
  下面是.pgc文件的代码,生成的.c文件比较长,就不写了
  int main(int argc, char *argv[])
  {
           EXEC SQL CONNECT TO servername@192.168.2.5 USER username/password ;
           EXEC SQL INCLUDE SQLCA;
           if ( sqlca.sqlcode )
           {
                        printf("Connect failed\n"); //连接失败
           }
           else
           {
                        EXEC SQL BEGIN DECLARE SECTION;
                       char ascii; //在我的系统上,如果不加1,在控制台打印出来后面会有乱码
                       EXEC SQL END DECLARE SECTION;
                        printf("Connect success \n");
                        //创建表
                        EXEC SQL CREATE TABLE foo (number integer, ascii char(16));
                        EXEC SQL CREATE UNIQUE INDEX num1 ON foo(number);
                        EXEC SQL COMMIT;
                        printf("Table Created\n");
                        //插入数据
                        EXEC SQL INSERT INTO foo (number, ascii) VALUES (9999, 'doodad');
                        EXEC SQL COMMIT;
                        printf("Inserted\n");
                        //查询
                        EXEC SQL SELECT ascii INTO :ascii FROM foo WHERE number = 9999;
                        printf("ascii=%s\n",ascii);
           }         
           EXEC SQL DISCONNECT; //关闭连接
           return 0;
}
页: [1]
查看完整版本: 在c中嵌入sql操作PostgreSQL