]> git.saurik.com Git - wxWidgets.git/commitdiff
hstmtUpdate handle was not always being freed in all situations
authorGeorge Tasker <gtasker@allenbrook.com>
Sat, 3 Feb 2001 17:50:05 +0000 (17:50 +0000)
committerGeorge Tasker <gtasker@allenbrook.com>
Sat, 3 Feb 2001 17:50:05 +0000 (17:50 +0000)
General gcc changes in the Printf() statement when using wxStrings as params to Printf()
General code clean up, correcting comments, added more comments tagging where changes for ODBC 3.0 support needs to be added

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9274 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/common/dbtable.cpp

index f85c5904f7d99a803d2c51398e097ea1f1b920d5..9dbeb6d0a2019b190021562c3a10d7699c127665 100644 (file)
@@ -177,7 +177,7 @@ bool wxDbTable::initialize(wxDb *pwxDb, const wxString &tblName, const int nCols
     
     wxString s;
     tableID = ++lastTableID;
-    s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"), tblName,tableID,pDb);
+    s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"), tblName.c_str(), tableID, pDb);
     
 #ifdef __WXDEBUG__
     wxTablesInUse *tableInUse;
@@ -300,7 +300,7 @@ void wxDbTable::cleanup()
     wxString s;
     if (pDb)
     {
-        s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"), tableName,tableID,pDb);
+        s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"), tableName.c_str(), tableID, pDb);
         pDb->WriteSqlLog(s);
     }
 
@@ -344,20 +344,41 @@ void wxDbTable::cleanup()
     if (!queryOnly)
     {
         if (hstmtInsert)
+        {
+/*
+ODBC 3.0 says to use this form
+            if (SQLFreeHandle(*hstmtDel, SQL_DROP) != SQL_SUCCESS)
+*/
             if (SQLFreeStmt(hstmtInsert, SQL_DROP) != SQL_SUCCESS)
                 pDb->DispAllErrors(henv, hdbc);
+        }
 
         if (hstmtDelete)
+        {
+/*
+ODBC 3.0 says to use this form
+            if (SQLFreeHandle(*hstmtDel, SQL_DROP) != SQL_SUCCESS)
+*/
             if (SQLFreeStmt(hstmtDelete, SQL_DROP) != SQL_SUCCESS)
+                pDb->DispAllErrors(henv, hdbc);
+        }
 
         if (hstmtUpdate)
+        {
+/*
+ODBC 3.0 says to use this form
+            if (SQLFreeHandle(*hstmtDel, SQL_DROP) != SQL_SUCCESS)
+*/
             if (SQLFreeStmt(hstmtUpdate, SQL_DROP) != SQL_SUCCESS)
                 pDb->DispAllErrors(henv, hdbc);
+        }
     }
 
     if (hstmtInternal)
+    {
         if (SQLFreeStmt(hstmtInternal, SQL_DROP) != SQL_SUCCESS)
             pDb->DispAllErrors(henv, hdbc);
+    }
 
     // Delete dynamically allocated cursors
     if (hstmtDefault)
@@ -676,9 +697,9 @@ bool wxDbTable::Open(bool checkPrivileges)
         wxString p;
 
         if (!tablePath.IsEmpty())
-            p.Printf(wxT("Error opening '%s/%s'.\n"),tablePath,tableName);
+            p.Printf(wxT("Error opening '%s/%s'.\n"),tablePath.c_str(),tableName.c_str());
         else
-            p.Printf(wxT("Error opening '%s'.\n"), tableName);
+            p.Printf(wxT("Error opening '%s'.\n"), tableName.c_str());
 
         p += s;
         pDb->LogError(p.GetData());
@@ -711,7 +732,7 @@ bool wxDbTable::Open(bool checkPrivileges)
     if (!queryOnly && noCols > 0)
     {
         bool needComma = FALSE;
-        sqlStmt.Printf(wxT("INSERT INTO %s ("), tableName);
+        sqlStmt.Printf(wxT("INSERT INTO %s ("), tableName.c_str());
         for (i = 0; i < noCols; i++)
         {
             if (! colDefs[i].InsertAllowed)
@@ -862,11 +883,11 @@ void wxDbTable::BuildDeleteStmt(wxString &pSqlStmt, int typeOfDel, const wxStrin
     // delete all records from the database in this case.
     if (typeOfDel == DB_DEL_WHERE && (pWhereClause.Length() == 0))
     {
-        pSqlStmt.Printf(wxT("DELETE FROM %s"), tableName);
+        pSqlStmt.Printf(wxT("DELETE FROM %s"), tableName.c_str());
         return;
     }
 
-    pSqlStmt.Printf(wxT("DELETE FROM %s WHERE "), tableName);
+    pSqlStmt.Printf(wxT("DELETE FROM %s WHERE "), tableName.c_str());
 
     // Append the WHERE clause to the SQL DELETE statement
     switch(typeOfDel)
@@ -1060,7 +1081,7 @@ void wxDbTable::BuildUpdateStmt(wxString &pSqlStmt, int typeOfUpd, const wxStrin
 
     bool firstColumn = TRUE;
 
-    pSqlStmt.Printf(wxT("UPDATE %s SET "), tableName);
+    pSqlStmt.Printf(wxT("UPDATE %s SET "), tableName.c_str());
 
     // Append a list of columns to be updated
     int i;
@@ -1276,7 +1297,7 @@ bool wxDbTable::CreateTable(bool attemptDrop)
 
     // Build a CREATE TABLE string from the colDefs structure.
     bool needComma = FALSE;
-    sqlStmt.Printf(wxT("CREATE TABLE %s ("), tableName);
+    sqlStmt.Printf(wxT("CREATE TABLE %s ("), tableName.c_str());
 
     for (i = 0; i < noCols; i++)
     {
@@ -1402,7 +1423,7 @@ bool wxDbTable::DropTable()
 
     wxString sqlStmt;
 
-    sqlStmt.Printf(wxT("DROP TABLE %s"), tableName);
+    sqlStmt.Printf(wxT("DROP TABLE %s"), tableName.c_str());
 
     pDb->WriteSqlLog(sqlStmt);
 
@@ -1576,12 +1597,12 @@ bool wxDbTable::DropIndex(const wxString &idxName)
     wxString sqlStmt;
 
     if (pDb->Dbms() == dbmsACCESS || pDb->Dbms() == dbmsMY_SQL)
-        sqlStmt.Printf(wxT("DROP INDEX %s ON %s"),idxName,tableName);
+        sqlStmt.Printf(wxT("DROP INDEX %s ON %s"),idxName.c_str(), tableName.c_str());
     else if ((pDb->Dbms() == dbmsMS_SQL_SERVER) ||
              (pDb->Dbms() == dbmsSYBASE_ASE))
-        sqlStmt.Printf(wxT("DROP INDEX %s.%s"),tableName,idxName);
+        sqlStmt.Printf(wxT("DROP INDEX %s.%s"),tableName.c_str(), idxName.c_str());
     else
-        sqlStmt.Printf(wxT("DROP INDEX %s"),idxName);
+        sqlStmt.Printf(wxT("DROP INDEX %s"),idxName.c_str());
 
     pDb->WriteSqlLog(sqlStmt);
 
@@ -2319,6 +2340,11 @@ bool wxDbTable::DeleteCursor(HSTMT *hstmtDel)
     if (!hstmtDel)  // Cursor already deleted
         return(result);
 
+/*
+ODBC 3.0 says to use this form
+    if (SQLFreeHandle(*hstmtDel, SQL_DROP) != SQL_SUCCESS)
+    
+*/
     if (SQLFreeStmt(*hstmtDel, SQL_DROP) != SQL_SUCCESS)
     {
         pDb->DispAllErrors(henv, hdbc);