📄 group__g__demo.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"><title>OCILIB (C Driver for Oracle): OCILIB main demo application code</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.4 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><h1>OCILIB main demo application code</h1>Portable Main demo application header <div class="fragment"><pre class="fragment"><span class="comment">/*</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment"> | |</span><span class="comment"> | OCILIB - C Driver for Oracle |</span><span class="comment"> | |</span><span class="comment"> | (C Wrapper for Oracle OCI) |</span><span class="comment"> | |</span><span class="comment"> | DEMO HEADER FILE |</span><span class="comment"> | |</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment"> | Website : http://orclib.sourceforge.net |</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment"> | Copyright (c) 2007-2009 Vincent ROGIER |</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment"> | This library is free software; you can redistribute it and/or |</span><span class="comment"> | modify it under the terms of the GNU Library General Public |</span><span class="comment"> | License as published by the Free Software Foundation; either |</span><span class="comment"> | version 2 of the License, or (at your option) any later version. |</span><span class="comment"> | |</span><span class="comment"> | This library is distributed in the hope that it will be useful, |</span><span class="comment"> | but WITHOUT ANY WARRANTY; without even the implied warranty of |</span><span class="comment"> | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |</span><span class="comment"> | Library General Public License for more details. |</span><span class="comment"> | |</span><span class="comment"> | You should have received a copy of the GNU Library General Public |</span><span class="comment"> | License along with this library; if not, write to the Free |</span><span class="comment"> | Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment"> | Author: Vincent ROGIER <vince.rogier@gmail.com> |</span><span class="comment"> +----------------------------------------------------------------------+</span><span class="comment">*/</span><span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> *</span><span class="comment"> * THIS DEMO RUNS ON ALL PLATFOMS AND OCILIB BUILDS.</span><span class="comment"> *</span><span class="comment"> * SO, WE NEED A LITTLE EFFORT TO KEEP THE SAME SOURCE CODE FOR :</span><span class="comment"> *</span><span class="comment"> * - MS WINDOWS AND UNIXES</span><span class="comment"> * - ANSI / MIXED / UNICODE BUILDS</span><span class="comment"> *</span><span class="comment"> * SOME DEFINES FOLLOW IN ORDER TO HANDLE ALL THOSE STUFF</span><span class="comment"> *</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * COMMON DEFINES</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="preprocessor">#define ARG_DB 1</span><span class="preprocessor"></span><span class="preprocessor">#define ARG_USER 2</span><span class="preprocessor"></span><span class="preprocessor">#define ARG_PWD 3</span><span class="preprocessor"></span><span class="preprocessor">#define ARG_HOME 4</span><span class="preprocessor"></span><span class="preprocessor">#define ARG_COUNT 5</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_STR 260</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_BUF 2048</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_TAB 5</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_ARRAY 1000</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL1 20</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL2 30</span><span class="preprocessor"></span><span class="preprocessor">#define SIZE_COL3 8</span><span class="preprocessor"></span><span class="preprocessor">#define NUM_COLS 3</span><span class="preprocessor"></span><span class="preprocessor">#define ARRAY_COUNT(t) (sizeof(t)/sizeof(t[0]))</span><span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>test_t{ void (*proc)(void); <span class="comment">/* test procedure */</span> <span class="keywordtype">int</span> execute; <span class="comment">/* do execute the procedure ? */</span>}test_t;<span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * PlATFORMS</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="preprocessor">#ifdef _WINDOWS</span><span class="preprocessor"></span><span class="preprocessor"> #include "windows.h"</span><span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * INCLUDES</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="preprocessor">#include <ocilib.h></span><span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * PLATFORMS</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="preprocessor">#ifdef _MSC_VER</span><span class="preprocessor"></span><span class="preprocessor"> #if defined(OCI_CHARSET_UNICODE)</span><span class="preprocessor"></span><span class="preprocessor"> #pragma comment(lib, "ocilibw.lib")</span><span class="preprocessor"></span><span class="preprocessor"> #elif defined(OCI_CHARSET_MIXED)</span><span class="preprocessor"></span><span class="preprocessor"> #pragma comment(lib, "ocilibm.lib")</span><span class="preprocessor"></span><span class="preprocessor"> #elif defined(OCI_CHARSET_ANSI)</span><span class="preprocessor"></span><span class="preprocessor"> #pragma comment(lib, "ociliba.lib")</span><span class="preprocessor"></span><span class="preprocessor"> #endif</span><span class="preprocessor"></span><span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="preprocessor">#ifdef _WINDOWS</span><span class="preprocessor"></span><span class="preprocessor"> #define EXE_NAME "ocilib_demo.exe"</span><span class="preprocessor"></span><span class="preprocessor">#else</span><span class="preprocessor"></span><span class="preprocessor"> #define EXE_NAME "ocilib_demo"</span><span class="preprocessor"></span><span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="comment">/* ------------------------------------------------------------------------ *</span><span class="comment"> * STRING PRINTING</span><span class="comment"> * ------------------------------------------------------------------------ */</span><span class="preprocessor">#define print_text(x) printf(x)</span><span class="preprocessor"></span><span class="preprocessor">#define print_frmt(f, x) printf(f, x)</span><span class="preprocessor"></span><span class="preprocessor">#if defined(OCI_CHARSET_UNICODE)</span><span class="preprocessor"></span><span class="preprocessor"> #define print_mt wprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define print_dt wprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_mt swprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_dt swprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define dtslen wcslen</span><span class="preprocessor"></span><span class="preprocessor">#elif defined(OCI_CHARSET_MIXED)</span><span class="preprocessor"></span><span class="preprocessor"> #define print_mt printf</span><span class="preprocessor"></span><span class="preprocessor"> #define print_dt wprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_mt ocisprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_dt swprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define dtslen wcslen</span><span class="preprocessor"></span><span class="preprocessor">#else</span><span class="preprocessor"></span><span class="preprocessor"> #define print_mt printf</span><span class="preprocessor"></span><span class="preprocessor"> #define print_dt printf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_mt ocisprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define sprint_dt ocisprintf</span><span class="preprocessor"></span><span class="preprocessor"> #define dtslen strlen</span><span class="preprocessor"></span><span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="comment">/* print userdata text */</span><span class="preprocessor">#if !defined(OCI_CHARSET_ANSI) && !defined(_WINDOWS)</span><span class="preprocessor"></span><span class="preprocessor">#define print_dstr(x) printf("%ls", (wchar_t*) x)</span><span class="preprocessor"></span><span class="preprocessor">#else</span><span class="preprocessor"></span><span class="preprocessor"> #define print_dstr(x) print_dt(DT("%s"), x)</span><span class="preprocessor"></span><span class="preprocessor">#endif</span><span class="preprocessor"></span><span class="comment">/* print metadata text */</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -