WEB开发网
开发学院软件开发VC 用动态SQL方法4连接 Oracle 的实现(第1.0版) 阅读

用动态SQL方法4连接 Oracle 的实现(第1.0版)

 2006-07-23 11:18:13 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 摘要动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句,用动态SQL方法4连接 Oracle 的实现(第1.0版),模块 oracle 的数据

本文示例源代码或素材下载

摘要

动态SQL的第4种方法通过SQLDA(The SQL Descriptor Area)和oracle内部交换数据,可以执行直到程序运行时还不知道选择表项或虚拟输入宿主变量的个数和类型的SQL语句。

模块 oracle 的数据

jmp_bufjmp_continue 保存程序断点
FILE*ORAinstdin默认输入源
FILE*ORAoutstdout默认输出源
IntORAresult0错误标志
Char*Dml_commands[]数据操纵语句动词表
ORAqueryQuery 包装SQL执行过程
ORAqueryBasepQuery&query为外部提供接口

与外部的接口

  • ORAin,ORAout: 应用程序通过操纵这两个变量改变oracle模块的输入输出源。
  • ORAresult:oracle模块的执行结果(有待细分错误原因)。
  • ORAconnect(user,password),ORAdisconnect():与数据库建立与断开连接,必须在执行任何SQL语句前建立连接。
  • JMP_FOR_ERROR(label):如果oracle模块出现错误便转到标号label处继续执行,建立连接时出错除外。
  • ORAqueryBase* pQuery:见抽象类ORAqueryBase的说明。

抽象类 ORAqueryBase

返回数据类型方法名称参数描述
intsetint,int,int设置SQL描述区的大小
intAlloc分配SQL描述区
intget_statement从输入源读取SQL语句
intset_statement]const char*以字符串格式输入SQL语句
intexecute执行准备好的SQL语句
intfree释放SQL描述区

参考资料

《programmer''s Guide to the Oracle Precompilers》Release 1.8

《C++高级参考手册》

Tags:动态 SQL 方法

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接