]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/db.cpp
added common regex
[wxWidgets.git] / src / common / db.cpp
index 57b25f226d1b36a75741e828dae50a329790a7aa..0b06c0497e13a11aecaa5225ce82247a1152403b 100644 (file)
@@ -53,7 +53,9 @@
     #include "wx/object.h"
     #include "wx/list.h"
     #include "wx/utils.h"
-    #include "wx/msgdlg.h"
+    #if wxUSE_GUI
+        #include "wx/msgdlg.h"
+    #endif
     #include "wx/log.h"
 #endif
 #include "wx/filefn.h"
@@ -1403,7 +1405,7 @@ void wxDb::Close(void)
         {
             s.Printf(wxT("(%-20s)     tableID:[%6lu]     pDb:[%p]"), tiu->tableName,tiu->tableID,tiu->pDb);
             s2.Printf(wxT("Orphaned found using pDb:[%p]"),this);
-            wxLogDebug (s,s2);
+            wxLogDebug (s.c_str(),s2.c_str());
         }
         pNode = pNode->Next();
     }
@@ -2757,7 +2759,7 @@ wxDbColInf *wxDb::GetColumns(const wxString &tableName, int *numCols, const wxCh
 
 
 /********** wxDb::GetColumnCount() **********/
-UWORD wxDb::GetColumnCount(const wxString &tableName, const wxChar *userID)
+int wxDb::GetColumnCount(const wxString &tableName, const wxChar *userID)
 /*
  * Returns a count of how many columns are in a table.
  * If an error occurs in computing the number of columns
@@ -2978,7 +2980,7 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName)
     wxChar    colName[DB_MAX_COLUMN_NAME_LEN+1];
     SWORD     sqlDataType;
     wxChar    typeName[30+1];
-    SWORD     precision, length;
+    SDWORD    precision, length;
 
     FILE *fp = fopen(fileName.c_str(),wxT("wt"));
     if (fp == NULL)
@@ -3020,8 +3022,12 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName)
     tblNameSave.Empty();
     int cnt = 0;
 
-    while ((retcode = SQLFetch(hstmt)) == SQL_SUCCESS)
+    while (TRUE)
     {
+        retcode = SQLFetch(hstmt);
+        if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
+            break;
+
         if (wxStrcmp(tblName, tblNameSave.c_str()))
         {
             if (cnt)
@@ -3042,12 +3048,12 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName)
             tblNameSave = tblName;
         }
 
-      GetData(3,SQL_C_CHAR,  (UCHAR *)tblName,     DB_MAX_TABLE_NAME_LEN+1, &cb);
-      GetData(4,SQL_C_CHAR,  (UCHAR *)colName,     DB_MAX_COLUMN_NAME_LEN+1,&cb);
-      GetData(5,SQL_C_SSHORT,(UCHAR *)&sqlDataType,0,                       &cb);
-      GetData(6,SQL_C_CHAR,  (UCHAR *)typeName,    sizeof(typeName),        &cb);
-      GetData(7,SQL_C_SSHORT,(UCHAR *)&precision,  0,                       &cb);
-      GetData(8,SQL_C_SSHORT,(UCHAR *)&length,     0,                       &cb);
+      GetData(3,SQL_C_CHAR,  (UCHAR *) tblName,     DB_MAX_TABLE_NAME_LEN+1, &cb);
+      GetData(4,SQL_C_CHAR,  (UCHAR *) colName,     DB_MAX_COLUMN_NAME_LEN+1,&cb);
+      GetData(5,SQL_C_SSHORT,(UCHAR *)&sqlDataType, 0,                       &cb);
+      GetData(6,SQL_C_CHAR,  (UCHAR *) typeName,    sizeof(typeName),        &cb);
+      GetData(7,SQL_C_SLONG, (UCHAR *)&precision,   0,                       &cb);
+      GetData(8,SQL_C_SLONG, (UCHAR *)&length,      0,                       &cb);
 
         outStr.Printf(wxT("%-32s %-32s (%04d)%-15s %9d %9d\n"),
             tblName, colName, sqlDataType, typeName, precision, length);
@@ -3716,7 +3722,7 @@ const wxChar WXDLLEXPORT *wxDbLogExtendedErrorMsg(const wxChar *userText, wxDb *
 
     msg.Append (wxT("\nODBC errors:\n"));
     msg += wxT("\n");
-    
+
     // Display errors for this connection
     int i;
     for (i = 0; i < DB_MAX_ERROR_HISTORY; i++)
@@ -3845,7 +3851,7 @@ int wxDbCreateDataSource(const wxString &driverName, const wxString &dsn, const
 
 /********** wxDbGetDataSource() **********/
 bool wxDbGetDataSource(HENV henv, wxChar *Dsn, SWORD DsnMax, wxChar *DsDesc,
-                       SWORD DsDescMax, DWORD direction)
+                       SWORD DsDescMax, UWORD direction)
 /*
  * Dsn and DsDesc will contain the data source name and data source
  * description upon return