Replaced <iostream.h> reference with "wx/ioswrap.h"

Replaced wxMessageBox() with wxLogDebug() calls
When calling GetColumns(), some drivers/datasources would not return a proper value for columnSize.  If columnSize is less than 1, columnSize gets set to bufferLength


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
George Tasker 2000-02-25 20:27:37 +00:00
parent bcaa23de09
commit 52a17fe534

View File

@ -47,7 +47,7 @@
#endif
#ifdef DBDEBUG_CONSOLE
#include <iostream.h>
#include "wx/ioswrap.h"
#endif
#ifdef __BORLANDC__
@ -897,7 +897,7 @@ void wxDB::Close(void)
{
s.sprintf("(%-20s) tableID:[%6lu] pDb:[%p]", tiu->tableName,tiu->tableID,tiu->pDb);
s2.sprintf("Orphaned found using pDb:[%p]",this);
wxMessageBox (s,s2);
wxLogDebug (s,s2);
}
pNode = pNode->Next();
}
@ -961,7 +961,7 @@ bool wxDB::DispAllErrors(HENV aHenv, HDBC aHdbc, HSTMT aHstmt)
}
#ifdef __WXDEBUG__
wxMessageBox(odbcErrMsg.GetData(),"DEBUG MESSAGE from DispAllErrors()");
wxLogDebug(odbcErrMsg.GetData(),"DEBUG MESSAGE from DispAllErrors()");
#endif
}
@ -1673,12 +1673,21 @@ wxColInf *wxDB::GetColumns(char *tableName[], const char *userID)
GetData( 9, SQL_C_SSHORT, (UCHAR*) &colInf[colNo].decimalDigits,0, &cb);
GetData(10, SQL_C_SSHORT, (UCHAR*) &colInf[colNo].numPrecRadix, 0, &cb);
GetData(11, SQL_C_SSHORT, (UCHAR*) &colInf[colNo].nullable, 0, &cb);
GetData(12, SQL_C_CHAR, (UCHAR*) colInf[colNo].remarks, 254+1, &cb);
GetData(12, SQL_C_CHAR, (UCHAR*) colInf[colNo].remarks, 254+1, &cb);
// Determine the wxDB data type that is used to represent the native data type of this data source
colInf[colNo].dbDataType = 0;
if (!wxStricmp(typeInfVarchar.TypeName,colInf[colNo].typeName))
{
if (colInf[colNo].columnSize < 1)
{
// Apparently mySQL and Postgres (or their ODBC drivers) do not
// return a columnSize, so set columnSize = bufferLength
// if no column size was returned
colInf[colNo].columnSize = colInf[colNo].bufferLength;
}
colInf[colNo].dbDataType = DB_DATA_TYPE_VARCHAR;
}
else if (!wxStricmp(typeInfInteger.TypeName,colInf[colNo].typeName))
colInf[colNo].dbDataType = DB_DATA_TYPE_INTEGER;
else if (!wxStricmp(typeInfFloat.TypeName,colInf[colNo].typeName))
@ -1843,7 +1852,16 @@ wxColInf *wxDB::GetColumns(char *tableName, int *numCols, const char *userID)
// Determine the wxDB data type that is used to represent the native data type of this data source
colInf[colNo].dbDataType = 0;
if (!wxStricmp(typeInfVarchar.TypeName,colInf[colNo].typeName))
{
if (colInf[colNo].columnSize < 1)
{
// Apparently mySQL and Postgres (or their ODBC drivers) do not
// return a columnSize, so set columnSize = bufferLength
// if no column size was returned
colInf[colNo].columnSize = colInf[colNo].bufferLength;
}
colInf[colNo].dbDataType = DB_DATA_TYPE_VARCHAR;
}
else if (!wxStricmp(typeInfInteger.TypeName,colInf[colNo].typeName))
colInf[colNo].dbDataType = DB_DATA_TYPE_INTEGER;
else if (!wxStricmp(typeInfFloat.TypeName,colInf[colNo].typeName))