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

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

 2008-04-19 20:27:40 来源: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_buf jmp_continue   保存程序断点
FILE* ORAin stdin 默认输入源
FILE* ORAout stdout 默认输出源
Int ORAresult 0 错误标志
Char* Dml_commands[] 数据操纵语句动词表
ORAquery Query   包装SQL执行过程
ORAqueryBase pQuery &query 为外部提供接口

与外部的接口

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

抽象类 ORAqueryBase

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

参考资料

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

《C++高级参考手册》

Tags:动态 SQL 方法

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