资源简介
一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简
代码片段和文件信息
/*H***************************************************************************
File : main.cpp
Subsystem :
Function Name(s):
Description : Testing TinyOci
Author : Ben
Date : 2002.05.22
Revision :
History
-------
2002.05.22 Ben Create
Copyright (c) ShenZhen COMEXE Communication Technology Co. Ltd.
***************************************************************************H*/
#include
#include
#include “tinyoci.h“
/*
--
-- 测试用例表
--
create table tinyoci
(
num_1 number(10)
num_2 number(53)
char_3 char
varchar2_4 varchar2(20)
date_5 date
float_6 float
real_7 real
);
*/
int main( int argc char *argv[] )
{
long lTotal;
short nRc;
TinyOci TinyDb;
char szError[512];
CMXList< CMXList > RowsList;
CMXList *pFieldsList;
CMXString *pField;
LIST_CURSOR cur1cur2;
// 测试用的SQL
//const char *szSql = “SELECT * FROM netinfo“;
//const char *szSql = “SELECT * FROM trouble“;
//const char *szSql = “SELECT * FROM tinyoci“;
//const char *szSql = “SELECT * FROM tinyoci WHERE num_1=:num_1“;
const char *szSql = “INSERT INTO tinyoci( num_1 varchar2_4 ) VALUES ( :num_1 :varchar2_4 )“;
long num_1[10]; // 可以同时执行10次,取不同的值。
char varchar2_4[10][80];
long out_num_1[10]; // 可以同时执行10次,取不同的值。
char out_varchar2_4[10][80];
// 初始化部分
if( !TinyDb.Init() )
return -1;
if( !TinyDb.Connect( “mydb“ “obs“ “123456“ ) )
{
TinyDb.GetError( szError );
printf( “\n%s“ szError );
return -1;
}
if( !TinyDb.SetDateFormat() )
{
TinyDb.GetError( szError );
printf( “\n%s“ szError );
return -1;
}
// 如果有需要的话,应该在Execute之前调用SetMaxFetch。
// 如果在Execute之后调用SetMaxFetch的话,MaxFetch的值
// 必须小于“输出数组”的下标值,否则超出“输出数组”的
// 范围(数组越界),将导致CORE DUMP !
TinyDb.SetMaxFetch( 3 );
// 如果有需要的话,可以设置输入变量:
// bool PushBindList( const char *pszName ub2 DateType long lSize void *pValue );
// 其中pszName为输入变量在SQL中名称(包括冒号‘:‘)。
if( !TinyDb.PushBindList( “:num_1“ SQLT_INT sizeof(num_1[0]) &num_1[0] ) )
return -1;
if( !TinyDb.PushBindList( “:varchar2_4“ SQLT_STR sizeof(varchar2_4[0]) varchar2_4[0] ) )
return -1;
// 如果设置了输入变量,则应该为输入变量赋值:
memset( &num_1[0] 0 sizeof( num_1 ) );
num_1[0] = 17;
num_1[1] = 18;
num_1[2] = 19;
num_1[3] = 20;
strcpy( varchar2_4[0] “Array Bind 17“ );
strcpy( varchar2_4[1] “Array Bind 18“ );
strcpy( varchar2_4[2] “Array Bind 19“ );
strcpy( varchar2_4[3] “Array Bind 20“ );
// Execute方法有一个缺省参数nIter表示对非SELECT语句重复执行的次数:
// bool Execute( const char *pszSql int nIter=1 );
//
if( !TinyDb.Execute( szSql 4 ) )
{
Tiny
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 12023 2009-11-13 20:58 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简\13898358TinyOci.rar
文件 5712 2002-05-23 13:01 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简\main.cpp
文件 43938 2002-05-27 11:06 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简\tinyoci.cpp
文件 5004 2002-05-24 16:58 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简\TinyOci.dsp
文件 5003 2002-05-23 16:49 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简\tinyoci.h
目录 0 2009-11-13 21:57 一个Oracle OCI编程接的C++封装,有OCI的全部功能,非常精简
----------- --------- ---------- ----- ----
71898 7
- 上一篇:C语言大作业班干选举系统
- 下一篇:A*算法解决八数码问题C++
评论
共有 条评论