#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlca.h" EXEC SQL BEGIN DECLARE SECTION;
char *serverid="scott/123456@orcl";
int deptid;
char edname[];
char edloc[];
EXEC SQL END DECLARE SECTION; void main()
{
int ret=;
EXEC SQL connect:serverid ;
if(sqlca.sqlcode!=)
{
ret=sqlca.sqlcode;
printf("connect err :%d",ret);
system("pause");
}else
{
printf("connect ok!\r\n");
//赋值
deptid=;
strcpy(edname,"中国2");
strcpy(edloc,"广东");
//插入数据
printf("exec insert start !\n");
EXEC SQL insert into dept(DEPTNO,DNAME,LOC) values(:deptid,:edname,:edloc);
if(sqlca.sqlcode!=)
{
ret=sqlca.sqlcode;
printf("insert err :%d",ret);
system("pause");
return;
}
//注意每次执行DML操作都需要提交事务不断开连接
EXEC SQL commit;
getchar();
strcpy(edname,"80name");
strcpy(edloc,"guangdong");
//修改数据
EXEC SQL update dept set DNAME=:edname,LOC=:edloc where DEPTNO=:deptid;
//提交事务不断开连接
EXEC SQL commit;
printf("print any key delete !\n");
getchar();
//删除数据
EXEC SQL delete from dept where deptno=:deptid;
//提交事务断开连接
EXEC SQL commit release;
printf("Oracle closed !\r\n");
system("pause");
}
}

数据库 proc编程三的更多相关文章

  1. 数据库 Proc编程二

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  2. 数据库 proc编程四

    错误处理机制 当在Pro*C/C++应用程序中运行SQL语句中,Oracle会将最近执行的SQL语句的状态信息存储到状态变量SQLCODE.SQLSTATE或者SQLCA结构中. 当SQL语句执行成功 ...

  3. 数据库 proc编程九

    第一种动态sql EXEC SQL EXECUTE IMMEDIATE :psql; .仅适用于非select语句 .嵌入SQL语句中不能包含输入宿主变量 void main() { EXEC SQL ...

  4. 数据库 proc编程六

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  5. 数据库 proc编程五

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  6. 数据库 proc编程八

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  7. 数据库 proc编程七

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  8. python对mysql数据库操作的三种不同方式

    首先要说一下,在这个暑期如果没有什么特殊情况,我打算用python尝试写一个考试系统,希望能在下学期的python课程实际使用,并且尽量在此之前把用到的相关技术都以分篇博客的方式分享出来,有想要交流的 ...

  9. ProC第三弹

    一.前言 我们上面已经了解Windows和Linux下的ProC开发环境,这里我们更进一步去简要介绍下ProC的预编译参数. 二.什么是预编译 预编译过程中,Pro*C/C++会自动生成C或者C++的 ...

随机推荐

  1. Tomcat 之 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099;

    错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099; nested exception is:  java. ...

  2. 理解GC

    首先看日志内容:  [Full GC 23.32: [ParNew: 2356K->2310K(3251K), 0.000288sec] [Full GC 是名称. [ParNew:是表示收集器 ...

  3. KineticJS教程(3)

    KineticJS教程(3) 作者: ysm  3.图形对象 3.1.Shape Kinetic提供了一个Shape对象用于在层上绘制图形,我们可以通过Kinetic.Shape()构造方法返回一个S ...

  4. 第十六周oj刷题——Problem I: 改错题:类中私有成员的訪问

    Description 改错题: 设计一个日期类和时间类,并编写全局函数display用于显示日期和时间. 要求:display函数作为类外的普通函数,而不是成员函数 在主函数中调用display函数 ...

  5. openerp在ubuntu中查看日志

    sudo su - openerp -s /bin/bash less /var/log/openerp/openerp-server.log

  6. Android中对Handle机制的理解

    一.重要參考资料  [參考资料]     眼下来看,以下的几个网址中的内容质量比較不错.基本不须要再读别的网址了. 1.android消息机制一     http://xtfncel.javaeye. ...

  7. 【Linux】nl命令

    用途 nl主要用于输出行号,但是与cat -n不太一样的是,可以自定义输出行号的样式 全称 nl的全称为:Number of Lines 参数 -b :指定行号指定的方式,主要有2种: -b a :表 ...

  8. Android中源码Launcher主屏幕程序排列详解【安卓Launcher进化一】

    最近研究Lancher,从短信Mms的框架中过度到Launcher的bug和需求修改中,下面对launcher最简单的主屏幕程序的程序的布局的详 解,给读者一个入门的感觉,android的主屏幕一共分 ...

  9. jQuery通过text值来设置选定,以及遍历select的选项个数和遍历

    真是醉了,网上搜了很久,全都是千篇一律的. 大家都拷贝来拷贝去,全是错的. 通过text值来设置select选定 $("#CompanyID").find("option ...

  10. AutoFac文档9(转载)

    目录 开始 Registering components 控制范围和生命周期 用模块结构化Autofac xml配置 与.net集成 深入理解Autofac 指导 关于 词汇表 关系类型 Autofa ...