资源简介
作者: 孙益华
开码功能:
call("类","方法")
call(对象,"方法")
扫描数据库
郎启武 201110增强,可以直接将数据连接的句柄传递进去,不用再开
一个新的连接,减少了数据库的连接数。并且里面还是使用了孙兄的多线程
的方式。解决了pb使用多线程的问题。
如有问题,请laolang308@sina.com联系。
代码片段和文件信息
//****************************************************************************
/*
作者: 孙益华
开码功能:
call(“类““方法“)
call(对象“方法“)
扫描数据库
修改人:sbigwolf主要是可以借用外部传递进来的sqlca.dbhandle句柄实现同一个线程连接,
避免多个连接。同时如果想连接到其他oracle数据孙兄的办法还是好的。
同时,也可以在外部程序连接上之后,将dbhandle传递进来
*/
#pragma warning(disable : 4786)
#include
//#include
#include
#include
#include
#include
#include
#include
extern “C“
{
#include
#include
/* demo constants and structs */
#include
}
#pragma comment(lib“oci.lib“)
#pragma comment(lib“PBNI.LIB“)
using std::string;
PBXEXPORT LPCTSTR PBXCALL PBX_GetDescription()
{
static const TCHAR desc[] = {
“class n_objcall from nonvisualobject\n“
“subroutine of_call(string class_namestring Method_name...)\n“//string signaturestring arguments[]
“subroutine of_call(powerobject pbostring method_name...)\n“//string signaturestring arguments[]
“subroutine of_startdblisten(string dbusernamestring dbpasswordstring sqlulong hwndulong msglong cstep1long cstep2)\n“
“subroutine of_closedblisten()\n“
“subroutine of_notify_db( ulong sqlca_racleHandlestring sqlulong hwndulong msglong cstep1long cstep2ulong app_handle)\n“
“function string of_get_message_info_text()\n“
“function int of_get_word_asc_code( string as_chinese_word)\n“
“function string of_des64_en_des(string as_oper_str int ai_opertion)\n“
“function long of_getWindowbytitle(ulong asc_hwnstring as_window_title)\n“
“function long of_update_returning_into_long(ulong sqlca_oracleHandlestring sql)\n“
“function long of_update_returning_into_dec(ulong sqlca_oracleHandlestring sql)\n“
“function long of_update_returning_into_str(ulong sqlca_oracleHandlestring sql)\n“
“function long of_getWindowbyClass(string as_window_title)\n“
“end class\n“
};
return desc;
}
static OCIEnv *envhp;
static OCIError *errhp;
static OCIStmt *stmthp;
static OCIBind *bnd1p = (OCIBind *) 0; /* the first bind handle */
static OCIBind *bnd2p = (OCIBind *) 0; /* the second bind handle */
static OCIBind *bnd3p = (OCIBind *) 0; /* the third bind handle */
static OCIBind *bnd4p = (OCIBind *) 0; /* the fourth bind handle */
#define MAXBINDS 25
#define MAXROWS 5 /* max no of rows returned per iter */
#define MAXCOLS 10
#define MAXITER 10 /* max no of iters in execute */
#define MAXCOLLEN 40 /* if changed update cdemodr1.sql */
#define DATBUFLEN 7
/* Rows returned in each iteration */
static ub2 rowsret[MAXITER];
static ub4 *rl[MAXCOLS][MAXITER]; /* return lengths */
static ub4 *p1[MAXITER]; /* for number */
static short *ind[MAXCOLS][MAXITER]; /* indicators */
static ub2 *rc[MAXCOLS][MAXITER]; /* return codes */
char *arg_error =new
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1186 2011-11-04 15:58 pb105\pbniob
文件 2888 2011-11-04 15:58 pb105\pbniob
文件 90112 2011-11-04 15:58 pb105\pbniob
文件 97280 2011-11-05 10:57 pb105\scanning.exe
文件 304128 2011-11-05 10:57 pb105\scanning.pbl
文件 110 2010-12-09 15:57 pb105\scanning.pbt
文件 164 2011-11-05 10:44 pb105\scanning.pbw
文件 80 2011-11-05 10:46 pb105\scanning.usr.opt
文件 568 2011-01-13 10:30 pb105\sql.sql
文件 57695 2011-01-13 10:31 pb105\库表模型.pdm
文件 155 2011-11-04 09:17 pbniob
文件 25422 2011-11-04 15:57 pbniob
文件 663 2011-11-04 15:46 pbniob
文件 41 2010-08-03 11:49 pbniob
文件 5067 2011-11-04 15:56 pbniob
文件 1375 2011-11-04 16:11 pbniob
目录 0 2011-11-04 15:58 pbniob
文件 7576 2011-11-04 15:58 pbniob
文件 67 2011-11-04 15:58 pbniob
文件 512782 2011-11-04 15:58 pbniob
文件 145 2011-11-04 15:58 pbniob
文件 199680 2011-11-04 15:58 pbniob
文件 217088 2011-11-04 15:58 pbniob
文件 276 2011-10-21 16:58 pbniob
文件 898 2011-09-28 10:02 pbniob
- 上一篇:简单文法压缩程序可对文法做等价压缩变换
- 下一篇:sis001.rar
评论
共有 条评论