資源簡介
一個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?>?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++
評論
共有 條評論