《c++连接oracle数据库OCCI编程》.ppt
文本预览下载声明
OCCI编程 二零零八年二月 学习提纲 环境的创建与终结 打开和关闭一个连接 执行DML或DDL语句 环境的创建与终结 所有的OCCI进程处理都与Environment类有关 创建环境示例 Environment *env = Environment::createEnvironment(); 必须显示的终止环境,下面的代码示例如何终止一个OCCI环境 Environment::terminateEnvironment(env); 打开和关闭一个连接 Environment类是一个创建Connection对象的类工厂,首先你需要创建一个Environment实例,然后通过createConnection()方法能够让用户连接到数据库。 代码示例: Environment *env = Environment::createEnvironment(); Connection *conn = env-createConnection(scott, tiger); 显示关闭连接代码示例: env-terminateConnection(conn); Environment::terminateEnvironment(env); 执行DDL和DML语句(-) DDL是Data Definition Language的缩写,为数据定义语言。用于SQL模式、基本表、视图和索引的创建和撤消操作。 DML是Data Manipulation Language的缩写,为数据操作语言。分为数据查询和数据更新两类。数据更新又分成插入、删除和修改三种操作。 创建一个Statement对象 Statement *stmt = conn-createStatement(); 终止一个Statement对象 Connection::conn-terminateStatement(Statement *stmt); 执行DDL和DML语句(二) execute():执行所有的非特殊statement类型(一般情况下,executeUPdate已经包括了基本的SQL处理操作,所以该方法估计也用不到) executeUpdate():执行DML和DDL语句 executeQuery():执行一个查询 executeArrayUpdate():执行复合DML语句(估计用不到) 执行DDL和DML语句(三) 标准语句 stmt-executeUpdate(“create table basket_tab(fruit varchar2(30), quantity number)”); stmt-executeUPdate(“insert into basket_tab values(‘mangoes’, ‘3’)”); 执行DDL和DML语句(四) 参数化语句 通过在语句中设定占位符,用于执行不同的参数 stmt-setSQL(“Insert into basket_tab values(:1, :2)”); stmt-setString(1, “Bananas”); //第一个参数 stmt-setInt(2, 5); //第二个参数 执行 stmt-executeUpdate(); 注意setxxx()的方法,其中xxx代表参数类型 执行DDL和DML语句(五) 示例执行coutFruit过程 stmt-setSQL(“BEGIN coutFruit(:1, :2); END)”); //1为输入,2为输出 int quantity; stmt-setString(1, “Apples”); 注意用registerOutParam()方法指定输出参数的类型和大小 stmt-registerOutParam(2, Type::OCCIINT, sizeof(quantity)); stmt-executeUPdate(); 获取输出参数 stmt-getInt(2); 执行DDL和DML语句(六) 在OCCI中,提供executeQuery方法执行SELECT操作,这个方法返回一个包含查询结果的ResultSet对象 ResultSet *rs = stmt-executeQuery(“SELECT * FROM basket_tab); while (rs-next()) { string fruit = rs-getString(1); int quantity = rs-getInt(2); cout quantity “ ” fruit endl; } 谢谢大家 * * * 我们对项目的总体方案建议就汇报到这里,谢谢各位领导和专家。 * * * 我们对项目的总体方案建议就汇报到这里,谢谢各位领导和专家。
显示全部