⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lutz.txt

📁 用C++编的小程序。
💻 TXT
字号:
Database Portable Software
by Michael H. Lutz, Colin J. Neill, and Phillip A. Laplante


Listing 1: 
(a) 
INSERT INTO product VALUES (1,'ProductName',1,1.0, SELECT @@IDENTITY;

(b) 
SELECT seqproduct.NEXTVAL INTO :next_id FROM DUAL;
INSERT INTO product VALUES (:next_id, 1,'ProductName', 
                                          1,1.0,SYSTIMESTAMP,NULL);


Listing 2:

(a)
Ret = SQLSetEnvAttr( NULL, SQL_ATTR_CONNECTION_POOLING,
                (SQLPOINTER)SQL_CP_ONE_PER_DRIVER, SQL_IS_INTEGER );  

(b) 
// class level declaration for illustration...
map<string, ConnectionPool *> _pools;
// See Occi::ConfigurePool...
if (_pools[ConnectionString] == NULL) {
   try {
      ConnectionPool *pool = _env->createConnectionPool(
	  UserName, Password, ConnectionString, 1, iMaxConnections, 1);
      if (pool != NULL) {
            _pools[ConnectionString] = pool;
      }
      else {
            // handle error ...
      }
   }
   catch (SQLException &excp) {
           // handle error ...
   }
   try {
      _pools[ConnectionString]->setTimeOut(600);
      // If inactive for 10 minutes, free connections ...
   }
   catch (SQLException &excp) {
     // handle error
   }
}

Listing 3:

(a)
retcode = SQLBindParameter(hstmt1, 1, SQL_PARAM_OUTPUT, SQL_C_SSHORT, 
                                 SQL_INTEGER, 0, 0, &sParm1, 0, &cbParm1);
(b)
status = OCIBindByName(stmthp, &bnd1p, errhp, (text *) ":ENAME", 
               -1, (dvoid *) ename, enamelen+1, SQLT_STR, 
               (dvoid*)0,(ub2*)0,(ub2*)0,(ub4)0,(ub4*)0, OCI_DEFAULT))

Listing 4:


Controller::Invoke(ICmd* cmd, Vo* vo)
{
    try {
        if (vo->getImp() == Vo::ODBC_SQLServer) {
            vo->setImpLibrary("ReferenceImp_Odbc.dll");
            vo->setImpAppendName("DB_ODBC_SqlServer");
        }
        if (vo->getImp() == Vo::ODBC_Oracle) {
            vo->setImpLibrary("ReferenceImp_Odbc.dll");
            vo->setImpAppendName("DB_ODBC_Oracle");
        }
        else if (vo->getImp() == Vo::OCCI_Oracle) {
            vo->setImpLibrary("ReferenceImp_Occi.dll");
            vo->setImpAppendName("DB_OCCI");
        }
        // Now invoke since after vo knows all it needs
        cmd->Execute(vo);
    }
    catch (exception ex) {
        // handle error ...
    }
    catch (...) {
        // handle error
    }
}








2


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -