// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-/*
-// SYNOPSIS START
-// SYNOPSIS STOP
-*/
-
#include "wx/wxprec.h"
#ifdef __BORLANDC__
#if wxUSE_ODBC
+#ifndef WX_PRECOMP
+ #include "wx/object.h"
+ #include "wx/list.h"
+ #include "wx/string.h"
+ #include "wx/utils.h"
+ #include "wx/log.h"
+#endif
+
#ifdef DBDEBUG_CONSOLE
#if wxUSE_IOSTREAMH
#include <iostream.h>
#include "wx/ioswrap.h"
#endif
-#ifndef WX_PRECOMP
- #include "wx/string.h"
- #include "wx/object.h"
- #include "wx/list.h"
- #include "wx/utils.h"
- #include "wx/log.h"
-#endif
#include "wx/filefn.h"
#include <stdio.h>
void csstrncpyt(wxChar *target, const wxChar *source, int n)
{
- while ( (*target++ = *source++) != '\0' && --n )
+ while ( (*target++ = *source++) != '\0' && --n != 0 )
;
*target = '\0';
wxString s;
tableID = ++lastTableID;
- s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"), tblName.c_str(), tableID, pDb);
+ s.Printf(wxT("wxDbTable constructor (%-20s) tableID:[%6lu] pDb:[%p]"),
+ tblName.c_str(), tableID, wx_static_cast(void*, pDb));
#ifdef __WXDEBUG__
wxTablesInUse *tableInUse;
wxString s;
if (pDb)
{
- s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"), tableName.c_str(), tableID, pDb);
+ s.Printf(wxT("wxDbTable destructor (%-20s) tableID:[%6lu] pDb:[%p]"),
+ tableName.c_str(), tableID, wx_static_cast(void*, pDb));
pDb->WriteSqlLog(s);
}
/********** wxDbTable::bindCols() **********/
bool wxDbTable::bindCols(HSTMT cursor)
{
- static SQLLEN cb;
-
// Bind each column of the table to a memory address for fetching data
UWORD i;
for (i = 0; i < m_numCols; i++)
{
- cb = colDefs[i].CbValue;
if (SQLBindCol(cursor, (UWORD)(i+1), colDefs[i].SqlCtype, (UCHAR*) colDefs[i].PtrDataObj,
- colDefs[i].SzDataObj, &cb ) != SQL_SUCCESS)
+ colDefs[i].SzDataObj, &colDefs[i].CbValue ) != SQL_SUCCESS)
return (pDb->DispAllErrors(henv, hdbc, cursor));
}
// Completed successfully
return true;
-
} // wxDbTable::bindCols()
case SQL_C_WCHAR:
#endif
//case SQL_C_WXCHAR: SQL_C_WXCHAR is covered by either SQL_C_CHAR or SQL_C_WCHAR
- colValue.Printf(wxT("'%s'"), (UCHAR FAR *) colDefs[colNumber].PtrDataObj);
+ colValue.Printf(wxT("'%s'"), GetDb()->EscapeSqlChars((wxChar *)colDefs[colNumber].PtrDataObj).c_str());
break;
case SQL_C_SHORT:
case SQL_C_SSHORT:
pDt->second = 0;
pDt->fraction = 0;
break;
+ case SQL_C_DATE:
+ DATE_STRUCT *pDtd;
+ pDtd = (DATE_STRUCT *) colDefs[colNumber].PtrDataObj;
+ pDtd->year = 0;
+ pDtd->month = 0;
+ pDtd->day = 0;
+ break;
+ case SQL_C_TIME:
+ TIME_STRUCT *pDtt;
+ pDtt = (TIME_STRUCT *) colDefs[colNumber].PtrDataObj;
+ pDtt->hour = 0;
+ pDtt->minute = 0;
+ pDtt->second = 0;
+ break;
}
if (setToNull)