• 大小: 24KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签: 一个Oracle  

资源简介

一个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


评论

共有 条评论

相关资源