if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
return(DispAllErrors(henv, hdbc));
- retcode = SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);
- retcode = SQLSetConnectOption(hdbc, SQL_OPT_TRACE, SQL_OPT_TRACE_OFF);
+ /* retcode = */ SQLSetConnectOption(hdbc, SQL_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF);
+ /* retcode = */ SQLSetConnectOption(hdbc, SQL_OPT_TRACE, SQL_OPT_TRACE_OFF);
// SQLSetConnectOption(hdbc, SQL_TXN_ISOLATION, SQL_TXN_READ_COMMITTED); // No dirty reads
// By default, MS Sql Server closes cursors on commit and rollback. The following
{
const long SQL_PRESERVE_CURSORS = 1204L;
const long SQL_PC_ON = 1L;
- retcode = SQLSetConnectOption(hdbc, SQL_PRESERVE_CURSORS, SQL_PC_ON);
+ /* retcode = */ SQLSetConnectOption(hdbc, SQL_PRESERVE_CURSORS, SQL_PC_ON);
}
// Display the connection options to verify them
/********** wxDb::ExecSql() with column info **********/
-bool wxDb::ExecSqlGetInf(const wxString &pSqlStmt, wxDbColInf** columns, short& numcols)
+bool wxDb::ExecSql(const wxString &pSqlStmt, wxDbColInf** columns, short& numcols)
{
//execute the statement first
- if (! ExecSql(pSqlStmt)) return false;
+ if (!ExecSql(pSqlStmt))
+ return false;
SWORD noCols;
- if (SQLNumResultCols (hstmt, &noCols) != SQL_SUCCESS)
+ if (SQLNumResultCols(hstmt, &noCols) != SQL_SUCCESS)
{
DispAllErrors(henv, hdbc, hstmt);
return false;
}
- if (noCols == 0) return false;
- else numcols = noCols;
+ if (noCols == 0)
+ return false;
+ else
+ numcols = noCols;
// Get column information
short colNum;
- UCHAR name[DB_MAX_COLUMN_NAME_LEN+1];
+ wxChar name[DB_MAX_COLUMN_NAME_LEN+1];
SWORD Sword;
SDWORD Sdword;
wxDbColInf* pColInf = new wxDbColInf[noCols];
//fill in column information (name, datatype)
for (colNum = 0; colNum < noCols; colNum++)
{
- if (SQLColAttributes(hstmt,colNum+1, SQL_COLUMN_NAME,
+ if (SQLColAttributes(hstmt, (UWORD)(colNum+1), SQL_COLUMN_NAME,
name, sizeof(name),
&Sword, &Sdword) != SQL_SUCCESS)
{
return false;
}
- wxStrncpy(pColInf[colNum].colName, (const char*) name, DB_MAX_COLUMN_NAME_LEN);
+ wxStrncpy(pColInf[colNum].colName, name, DB_MAX_COLUMN_NAME_LEN);
- if (SQLColAttributes(hstmt,colNum+1, SQL_COLUMN_TYPE,
+ if (SQLColAttributes(hstmt, (UWORD)(colNum+1), SQL_COLUMN_TYPE,
NULL, 0, &Sword, &Sdword) != SQL_SUCCESS)
{
DispAllErrors(henv, hdbc, hstmt);
switch (Sdword)
{
- case SQL_VARCHAR:
- case SQL_CHAR:
- pColInf[colNum].dbDataType = DB_DATA_TYPE_VARCHAR;
- break;
-
- case SQL_TINYINT:
- case SQL_SMALLINT:
- case SQL_INTEGER:
- case SQL_BIT:
- pColInf[colNum].dbDataType = DB_DATA_TYPE_INTEGER;
- break;
- case SQL_DOUBLE:
- case SQL_DECIMAL:
- case SQL_NUMERIC:
- case SQL_FLOAT:
- case SQL_REAL:
- pColInf[colNum].dbDataType = DB_DATA_TYPE_FLOAT;
- break;
- case SQL_DATE:
- case SQL_TIMESTAMP:
- pColInf[colNum].dbDataType = DB_DATA_TYPE_DATE;
- break;
- case SQL_BINARY:
- pColInf[colNum].dbDataType = DB_DATA_TYPE_BLOB;
- break;
+ case SQL_VARCHAR:
+ case SQL_CHAR:
+ pColInf[colNum].dbDataType = DB_DATA_TYPE_VARCHAR;
+ break;
+ case SQL_TINYINT:
+ case SQL_SMALLINT:
+ case SQL_INTEGER:
+ case SQL_BIT:
+ pColInf[colNum].dbDataType = DB_DATA_TYPE_INTEGER;
+ break;
+ case SQL_DOUBLE:
+ case SQL_DECIMAL:
+ case SQL_NUMERIC:
+ case SQL_FLOAT:
+ case SQL_REAL:
+ pColInf[colNum].dbDataType = DB_DATA_TYPE_FLOAT;
+ break;
+ case SQL_DATE:
+ case SQL_TIMESTAMP:
+ pColInf[colNum].dbDataType = DB_DATA_TYPE_DATE;
+ break;
+ case SQL_BINARY:
+ pColInf[colNum].dbDataType = DB_DATA_TYPE_BLOB;
+ break;
#ifdef __WXDEBUG__
- default:
- wxString errMsg;
- errMsg.Printf(wxT("SQL Data type %d currently not supported by wxWindows"), Sdword);
- wxLogDebug(errMsg,wxT("ODBC DEBUG MESSAGE"));
+ default:
+ wxString errMsg;
+ errMsg.Printf(wxT("SQL Data type %ld currently not supported by wxWidgets"), (long)Sdword);
+ wxLogDebug(errMsg,wxT("ODBC DEBUG MESSAGE"));
#endif
}
}
*columns = pColInf;
return true;
-} // wxDb::ExecSqlGetInf()
+} // wxDb::ExecSql()
/********** wxDb::GetNext() **********/
bool wxDb::GetNext(void)
} // while
tempStr.Trim(); // Get rid of any unneeded blanks
- if (!tempStr.IsEmpty())
+ if (!tempStr.empty())
{
for (i=0; i<noCols; i++)
{ // Find the Column name
// MySQL, SQLServer, and Access cannot accept a user name when looking up column names, so we
// use the call below that leaves out the user name
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
// MySQL, SQLServer, and Access cannot accept a user name when looking up column names, so we
// use the call below that leaves out the user name
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
// MySQL, SQLServer, and Access cannot accept a user name when looking up column names, so we
// use the call below that leaves out the user name
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
case SQL_CHAR:
colInf[colNo].dbDataType = DB_DATA_TYPE_VARCHAR;
break;
-
case SQL_TINYINT:
case SQL_SMALLINT:
case SQL_INTEGER:
+ case SQL_BIT:
colInf[colNo].dbDataType = DB_DATA_TYPE_INTEGER;
break;
case SQL_DOUBLE:
colInf[colNo].dbDataType = DB_DATA_TYPE_FLOAT;
break;
case SQL_DATE:
+ case SQL_TIMESTAMP:
colInf[colNo].dbDataType = DB_DATA_TYPE_DATE;
break;
case SQL_BINARY:
// MySQL, SQLServer, and Access cannot accept a user name when looking up column names, so we
// use the call below that leaves out the user name
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
SQLFreeStmt(hstmt, SQL_CLOSE); // Close if Open
tblNameSave.Empty();
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
wxString UserID;
convertUserID(userID,UserID);
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsINTERBASE &&
// Some databases cannot accept a user name when looking up table names,
// so we use the call below that leaves out the user name
- if (!UserID.IsEmpty() &&
+ if (!UserID.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER &&
// Some databases cannot accept a user name when looking up table names,
// so we use the call below that leaves out the user name
- if (!Schema.IsEmpty() &&
+ if (!Schema.empty() &&
Dbms() != dbmsMY_SQL &&
Dbms() != dbmsACCESS &&
Dbms() != dbmsMS_SQL_SERVER)
*/
{
SWORD cb1,cb2;
+ SWORD lengthDsn = (SWORD)(DsnMaxLength*sizeof(wxChar));
+ SWORD lengthDsDesc = (SWORD)(DsDescMaxLength*sizeof(wxChar));
- if (SQLDataSources(henv, direction, (SQLTCHAR FAR *) Dsn, DsnMaxLength*sizeof(wxChar), &cb1,
- (SQLTCHAR FAR *) DsDesc, DsDescMaxLength*sizeof(wxChar), &cb2) == SQL_SUCCESS)
+ if (SQLDataSources(henv, direction, (SQLTCHAR FAR *) Dsn, lengthDsn, &cb1,
+ (SQLTCHAR FAR *) DsDesc, lengthDsDesc, &cb2) == SQL_SUCCESS)
return true;
else
return false;