设为首页 加入收藏

TOP

[转]什么是Pro*C/C++,嵌入式SQL,第一个pro*c程序,pro*c++,Makefile,Proc增删改查(二)
2017-10-12 17:39:09 】 浏览:1616
Tags:什么 Pro C/C 嵌入式 SQL 一个 pro 程序 Makefile Proc 删改

\

注意上面红线部分和执行C的不相同

接着编译cc文件:

g++ dm02_hello.cc -o dm02_hello -I/home/oracle_11/app/oracle/product/11.2.0/db_1/precomp/public -L/home/oracle_11/app/oracle/product/11.2.0/db_1/lib –lclntsh

\

\

9.编写一个最简单的MakeFile

all:dm01_hello dm02_hello

dm01_hello:

@echo 'proc dm01_hello begin'

proc dm01_hello.pc

@echo 'gcc dm01_hello begin'

gcc dm01_hello.c -o dm01_hello -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib -lclntsh

dm02_hello:

@echo 'proc dm02_hello begin'

proc iname=./dm02_hello.pc oname=dm02_hello.cc PARSE=NONE CODE=CPP

@echo 'gcc dm02_hello begin'

g++ dm02_hello.cc -o dm02_hello -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib -lclntsh

clean:

@rm dm01_hello

@rm dm02_hello

执行命令:

make

\

10 数据库的增删改查:

编写公共的Makefile

all: dm01_dbop

dm01_dbop:

@echo 'proc dm01_dbop begin'

proc dm01_dbop.pc

@echo 'gcc dm01_dbop begin'

gcc dm01_dbop.c -o dm01_dbop -I${ORACLE_HOME}/precomp/public -L${ORACLE_HOME}/lib –lclntsh

clean:

@rm dm01_dbop

插入数据:

#include <stdio.h>

#include <string.h>

#include <string.h>

#include "sqlca.h"

//定义宿主变量 serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

int main()

{

int ret = 0;

printf("hello....\n");

//在C中是宿主变量

printf("serverid:%s \n", serverid);

//嵌入式SQL语言必须要以 EXEC SQL开头

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sqlca.sqlcode;

printf("EXEC SQL connect:err, %d\n", ret);

return ret;

}

printf("connect ok\n");

deptno = 50;

strcpy(dname, "50name");

strcpy(loc, "50loc");

//增加数据

EXEC SQL insert into dept (deptno, dname, loc) values(:deptno, :dname, :loc);

EXEC SQL commit;

 

EXEC SQL COMMIT RELEASE; //提交事务断开连接

return ret;

}

运行结果:

\

删除

Makefile略

#include <stdio.h>

#include <string.h>

#include <string.h>

#include "sqlca.h"

//定义宿主变量 serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

int main()

{

int ret = 0;

printf("hello....\n");

//在C中是宿主变量

printf("serverid:%s \n", serverid);

//嵌入式SQL语言必须要以 EXEC SQL开头

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sqlca.sqlcode;

printf("EXEC SQL connect:err, %d\n", ret);

return ret;

}

printf("connect ok\n");

deptno = 50;

strcpy(dname, "50name");

strcpy(loc, "50loc");

 

EXEC SQL delete from dept where deptno=:deptno;

EXEC SQL commit;

EXEC SQL    COMMIT RELEASE; //提交事务断开连接

return ret;

}

运行结果:

\

更新:

Makefile公用上面的

#include <stdio.h>

#include <string.h>

#include <string.h>

#include "sqlca.h"

//定义宿主变量 serverid

EXEC SQL BEGIN DECLARE SECTION ;

char *serverid = "scott/tiger@orcl";

int deptno;

char dname[20];

char loc[20] ;

 

int deptno2;

char dname2[20];

char loc2[20] ;

EXEC SQL END DECLARE SECTION;

 

//更新

int main()

{

int ret = 0;

printf("hello....\n");

//在C中是宿主变量

printf("serverid:%s \n", serverid);

//嵌入式SQL语言必须要以 EXEC SQL开头

//:serverid

EXEC SQL connect :serverid;

if (sqlca.sqlcode != 0)

{

ret = sql

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C基础 寻找随机函数的G点 下一篇【001:ubuntu下搭建ESP8266开发..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目