Linux c/c++访问Oracle数据库--操作数据
来源:互联网 发布:淘宝上新提醒我 编辑:程序博客网 时间:2024/06/02 20:54
上一篇中记录了连接数据库,这一次将会记录通过C程序操作数据的例子~~
#include <stdio.h> #include <sqlca.h>void sqlerror(){ printf("ORACLE error:%.70s\n",sqlca.sqlerrm.sqlerrmc); EXEC SQL WHENEVER SQLERROR continue; EXEC SQL rollback RELEASE;}int login(){ char uid[]="test/test@192.168.30.50:1521/rsdb"; EXEC SQL WHENEVER SQLERROR DO sqlerror(); EXEC SQL CONNECT :uid; if (sqlca.sqlcode == 0) printf("Connect successful!\n"); return sqlca.sqlcode;}int insert(){ int id=104; char name[]="c"; EXEC SQL WHENEVER SQLERROR DO sqlerror(); EXEC SQL INSERT INTO TEST(ID,NAME) values(:id,:name); if (sqlca.sqlcode == 0) { printf("Insert successful!\n"); } return sqlca.sqlcode;}int del(){ int id = 11; EXEC SQL WHENEVER SQLERROR DO sqlerror(); EXEC SQL DELETE FROM TEST WHERE ID=:id; if (sqlca.sqlcode == 0) { printf("Del successful!\n"); } return sqlca.sqlcode;}int select(){ int id; char name[2]={0x00}; EXEC SQL WHENEVER SQLERROR DO sqlerror(); EXEC SQL SELECT ID,NAME INTO :id,:name FROM TEST WHERE ID = 100; if (sqlca.sqlcode == 0) { printf("Select successful!\n"); printf("ID=%d Name=%s\n",id,name); } return sqlca.sqlcode;}int main(){ if(login() != 0) { printf("Connect error!\n"); return -1; } insert(); del(); select(); EXEC SQL COMMIT RELEASE; return 0;}
---void sqlerror() 打印错误信息
----int login() 登陆数据库
---int insert() 插入数据到数据库
---int del() 从数据库删除数据
---int select() 查询特点数据
在每个函数中的都有一句,将我们的oracle执行错误的时候去DO sqlerror();
EXEC SQL WHENEVER SQLERROR DO sqlerror();
这是proc中whenever的用法,还有另外两种:
EXEC SQL WHENEVER NOT FOUND DO sqlerror();
EXEC SQL WHENEVER SQLWARNING DO sqlerror();
SQLERROR----错误标示
NOT FOUND----没有数据标示
SQLWARNING---警告信息标示
在select函数中在SQL语句中加了where限制,这是只取特定的一行数据,如果不加限制select 会取出所有的数据,倒是就要用到游标去错做结果集了
1 0
- Linux c/c++访问Oracle数据库--操作数据
- Linux C 访问数据库操作
- Linux c/c++访问Oracle数据库--游标操作
- Linux c/c++访问Oracle数据库--连接数据库
- oracle 12c 访问数据库
- Linux c/c++访问Oracle数据库--环境配置
- linux c编程访问数据库
- Linux--C语言操作数据库(一)插入数据
- C#.net免客户端访问Oracle数据库
- 【C#】C#访问和操作MYSQL数据库
- 【C#】C#访问和操作MYSQL数据库
- 【C#】C#访问和操作MYSQL数据库
- Linux c操作mysql数据库
- Linux下使用C/C++访问数据库
- Linux下使用C/C++访问数据库
- Linux下C访问Mysql数据库
- linux使用c语言访问mysql数据库
- Oracle数据库操作类(c#)
- 解决PHP中json_encode函数处理中文乱码的问题 两种方法
- 用第三方会员系统(腾讯平台网站接入oauth)
- OCI连接oracle数据库,不用安装客户端(不需要tnsnames.ora来指定数据库ip地址),不需要服务命名
- JEECG开源社区招收学生说明
- 优秀程序员的6个共同特质
- Linux c/c++访问Oracle数据库--操作数据
- 指定序的排序问题,记一个学生的问题
- 使用Javascript 调用SharePoint Ribbon 命令
- 如何更有效的读书
- 第17周项目9-去字符串中特定字符
- matlab_find函数用法总结
- Linux下修改PATH的方法
- 如何添加自己编译的库文件目录和头文件目录
- 通过两个点的经纬度计算距离