数据库 proc编程七
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #include "sqlca.h"//定义char [20]数组类型 typedef char ChararrType[20];//oracle外部变量类型string类似varchar2类型,是以\0结尾的字符串 EXEC SQL BEGIN DECLARE SECTION;char *serverid="scott/123456@orcl";EXEC SQL TYPE ChararrType is string(20);//将宿主变量类型转化成oracle外部变量类型,也可直接使用varchar2类型的宿主变量int ida1;int idb1;ChararrType name1;//这里的name1变量就是个数组变量short name1_ind; EXEC SQL END DECLARE SECTION;//错误处理升级函数 void sqlerr() {EXEC SQL WHENEVER SQLERROR CONTINUE;printf("err reason:%.*s\r\n",sqlca.sqlerrm.sqlerrml,sqlca.sqlerrm.sqlerrmc);EXEC SQL ROLLBACK WORK RELEASE; }void main() {EXEC SQL WHENEVER SQLERROR DO sqlerr();EXEC SQL connect:serverid ;printf("connect ok!\r\n");//1.定义游标--为某一次查询定义游标 EXEC SQL DECLARE c CURSOR FORselect ida,idb,name from t2;//2.打开游标 EXEC SQL OPEN c;//3.提取数据 fetch into//跳出循环方法一//EXEC SQL WHENEVER NOT FOUND DO BREAK;while(1){EXEC SQL FETCH c INTO :ida1,:idb1,:name1:name1_ind;//跳出循环方法二if(sqlca.sqlcode==100||sqlca.sqlcode==1403){break;}if(name1_ind==-1){memset(name1,0,sizeof(name1));strcpy(name1,"null");}printf("ida=%d,idb=%d,name=%s\r\n",ida1,idb1,name1);}//4.关闭游标 EXEC SQL CLOSE c;//提交断开连接 EXEC SQL COMMIT RELEASE;system("pause"); }
转载于:https://www.cnblogs.com/zhanggaofeng/p/6282941.html
数据库 proc编程七相关推荐
- 创业编程七个错误认识
导读:本文是从< What's Your Start-up's "Bus Count"? 7 Myths of Entrepreneurship and Programmin ...
- 【3-16】数据库基本编程语句,存储过程,触发器
[3-16]数据库基本编程语句,存储过程,触发器 一基本编程语句 (1)定义变量 declare @变量名 数据类型 (2)赋值 set @变量名=值 select @变量名 =值 (3)取值打印 ...
- oracle proc编程 fetch,Oracle Proc编程性能优化经验
Proc 是Oracle提供的一种数据库操做的AP.它是基于ESql技术的,须要预编译后才能够变成普通c代码,很是不直观,使用起来不太方便,阅读也存在困难.程序员 由于这些问题致使程序员平时开发中会出 ...
- oracle proc 定义宿主,oracle proc 编程基础及最小化案例
oracle proc 编程是在我的概念中是非常陌生的,学习了一天下来发现这东西真的好古老,但是依然健壮.稳定,其中间是编辑一个 .pc 的文件使用 proc 进行预处理,预处理后生成一个真正的.c文 ...
- python界面设置-PYTHON图形化操作界面的编程七__创建菜单
PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...
- python函数做菜单_PYTHON图形化操作界面的编程七__创建菜单
PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...
- !!!. 数据库的编程(ADO) --- 三种sql语句执行的不同
Description: 一. 数据库的编程(ADO) 要用ADO连接数据的头文件中加入 #import "c:\Program Files\Common Files\Sy ...
- 不为人知的网络编程(七):如何让不可靠的UDP变的可靠?
为什么80%的码农都做不了架构师?>>> 本文内容来自学霸君资深架构师袁荣喜的技术分享. 1.前言 最近和很多实时音视频领域的朋友交流中都有谈论到 RUDP(Reliable ...
- Linux网络编程-七
Linux网络编程-七 web服务器项目 1 web服务器开发准备 1.1 Html语言基础(和Markdown一个性质,某些程度上和Markdown通用,所以我在编辑的时候在<>里都加了 ...
最新文章
- Java HashMap和Hashtable的区别
- Flink SQL Client中的session window图解
- Access 时间比较错误
- python函数的嵌套调用_python函数的嵌套调用
- python中的switch语句_python技巧 switch case语句
- 七月算法机器学习 11 决策树、随机森林、 adaboost
- ubuntu修改静态IP地址
- dell r710重装系统_DELL R710系统安装指南10页
- APS计划排程和生产排产系统,包含哪些排程算法?
- 从发声机理到听觉感知认识声音的本质
- c语言正弦函数求导,正弦函数求导公式基本推导
- 天蝎项目整机柜服务器技术规格,天蝎工程项目整机柜服务器技术规范V1.01.pdf
- uniapp 下拉列表插件 lable问题
- 搭建大型分布式服务(二十五)如何将应用部署到TKE容器集群?
- 大数据仓库技术实训任务2
- 【STL模板】双端队列
- 【公开课】如何使用Arm-2D在小资源Cortex-M处理器芯片中实现图形界面?
- php715 configure
- wlan连接的笔记本电脑+开启移动热点+手机无法连接【已解决】
- 高质量网站哪里找?4个PPT自学网站告别高额培训费,看完受益一生
热门文章
- MyBatis动态SQL_多表查询_延迟加载_缓存
- 解决Error #15: Initializing libiomp5.dylib, but found libomp.dylib already initialized.
- LeetCode 865. 具有所有最深结点的最小子树(递归)
- LeetCode 78. 子集(回溯)
- 等价类测试与决策表测试
- 吴恩达入驻知乎,涨粉秒过万!知乎首答:如何系统学习机器学习
- Redis系列教程(三):如何解决Redis缓存雪崩、缓存穿透、缓存并发等5大难题
- BAT面试进阶:最全Memcached面试30题含答案
- 论文浅尝 - ACL2020 | 利用知识库嵌入改进多跳 KGQA
- 论文浅尝 | 采用多层注意力机制的事件检测