From: George Tasker Date: Wed, 12 May 2004 16:49:49 +0000 (+0000) Subject: [SF#851487] wxDb::Catalog() function was attempting to determine if the table that... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/b26e2b55ca46bfa46654c98db716bb14328d0429 [SF#851487] wxDb::Catalog() function was attempting to determine if the table that was being accessed was different than the last table being accessed BEFORE the table name of the current table was read in, causing an issue when more than one table was present in the database git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/common/db.cpp b/src/common/db.cpp index cb2fb2e9af..eb9137aa42 100644 --- a/src/common/db.cpp +++ b/src/common/db.cpp @@ -3210,6 +3210,13 @@ bool wxDb::Catalog(const wxChar *userID, const wxString &fileName) if (retcode != SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO) break; + 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); + if (wxStrcmp(tblName, tblNameSave.c_str())) { if (cnt) @@ -3230,13 +3237,6 @@ 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_SLONG, (UCHAR *)&precision, 0, &cb); - GetData(8,SQL_C_SLONG, (UCHAR *)&length, 0, &cb); - outStr.Printf(wxT("%-32s %-32s (%04d)%-15s %9ld %9ld\n"), tblName, colName, sqlDataType, typeName, precision, length); if (wxFputs(outStr.c_str(), fp) == EOF)