void csstrncpyt(wxChar *target, const wxChar *source, int n)
{
- while ( (*target++ = *source++) != '\0' && --n )
+ while ( (*target++ = *source++) != '\0' && --n != 0 )
;
*target = '\0';
/********** 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)