?? lutz.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 + -