MS Access support fix
Standardized the parameter names for "colNo" in all places A few more unicode adjustments (but Unicode is still not supported by these classes) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12610 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -329,8 +329,8 @@ public:
|
|||||||
//TODO: Need to Document
|
//TODO: Need to Document
|
||||||
typedef enum { WX_ROW_MODE_QUERY , WX_ROW_MODE_INDIVIDUAL } rowmode_t;
|
typedef enum { WX_ROW_MODE_QUERY , WX_ROW_MODE_INDIVIDUAL } rowmode_t;
|
||||||
virtual void SetRowMode(const rowmode_t rowmode);
|
virtual void SetRowMode(const rowmode_t rowmode);
|
||||||
virtual wxVariant GetCol(const int Colno) const ;
|
virtual wxVariant GetCol(const int colNo) const ;
|
||||||
virtual void SetCol(const int ColNo, const wxVariant value);
|
virtual void SetCol(const int colNo, const wxVariant value);
|
||||||
virtual GenericKey GetKey(void);
|
virtual GenericKey GetKey(void);
|
||||||
virtual void SetKey(const GenericKey &key);
|
virtual void SetKey(const GenericKey &key);
|
||||||
|
|
||||||
|
@@ -1410,6 +1410,7 @@ bool wxDbTable::CreateTable(bool attemptDrop)
|
|||||||
{
|
{
|
||||||
switch (pDb->Dbms())
|
switch (pDb->Dbms())
|
||||||
{
|
{
|
||||||
|
case dbmsACCESS:
|
||||||
case dbmsINFORMIX:
|
case dbmsINFORMIX:
|
||||||
case dbmsSYBASE_ASA:
|
case dbmsSYBASE_ASA:
|
||||||
case dbmsSYBASE_ASE:
|
case dbmsSYBASE_ASE:
|
||||||
@@ -2502,48 +2503,48 @@ void wxDbTable::SetRowMode(const rowmode_t rowmode)
|
|||||||
} // wxDbTable::SetRowMode()
|
} // wxDbTable::SetRowMode()
|
||||||
|
|
||||||
|
|
||||||
wxVariant wxDbTable::GetCol(const int col) const
|
wxVariant wxDbTable::GetCol(const int colNo) const
|
||||||
{
|
{
|
||||||
wxVariant val;
|
wxVariant val;
|
||||||
if ((col < noCols) && (!IsColNull(col)))
|
if ((colNo < noCols) && (!IsColNull(colNo)))
|
||||||
{
|
{
|
||||||
switch (colDefs[col].SqlCtype)
|
switch (colDefs[colNo].SqlCtype)
|
||||||
{
|
{
|
||||||
case SQL_CHAR:
|
case SQL_CHAR:
|
||||||
case SQL_VARCHAR:
|
case SQL_VARCHAR:
|
||||||
val = (char *)(colDefs[col].PtrDataObj);
|
val = (wxChar *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
case SQL_C_LONG:
|
case SQL_C_LONG:
|
||||||
case SQL_C_SLONG:
|
case SQL_C_SLONG:
|
||||||
val = *(long *)(colDefs[col].PtrDataObj);
|
val = *(long *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
case SQL_C_SHORT:
|
case SQL_C_SHORT:
|
||||||
case SQL_C_SSHORT:
|
case SQL_C_SSHORT:
|
||||||
val = (long int )(*(short *)(colDefs[col].PtrDataObj));
|
val = (long int )(*(short *)(colDefs[colNo].PtrDataObj));
|
||||||
break;
|
break;
|
||||||
case SQL_C_ULONG:
|
case SQL_C_ULONG:
|
||||||
val = (long)(*(unsigned long *)(colDefs[col].PtrDataObj));
|
val = (long)(*(unsigned long *)(colDefs[colNo].PtrDataObj));
|
||||||
break;
|
break;
|
||||||
case SQL_C_TINYINT:
|
case SQL_C_TINYINT:
|
||||||
val = (long)(*(char *)(colDefs[col].PtrDataObj));
|
val = (long)(*(char *)(colDefs[colNo].PtrDataObj));
|
||||||
break;
|
break;
|
||||||
case SQL_C_UTINYINT:
|
case SQL_C_UTINYINT:
|
||||||
val = (long)(*(unsigned char *)(colDefs[col].PtrDataObj));
|
val = (long)(*(unsigned char *)(colDefs[colNo].PtrDataObj));
|
||||||
break;
|
break;
|
||||||
case SQL_C_USHORT:
|
case SQL_C_USHORT:
|
||||||
val = (long)(*(UWORD *)(colDefs[col].PtrDataObj));
|
val = (long)(*(UWORD *)(colDefs[colNo].PtrDataObj));
|
||||||
break;
|
break;
|
||||||
case SQL_C_DATE:
|
case SQL_C_DATE:
|
||||||
val = (DATE_STRUCT *)(colDefs[col].PtrDataObj);
|
val = (DATE_STRUCT *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
case SQL_C_TIME:
|
case SQL_C_TIME:
|
||||||
val = (TIME_STRUCT *)(colDefs[col].PtrDataObj);
|
val = (TIME_STRUCT *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
case SQL_C_TIMESTAMP:
|
case SQL_C_TIMESTAMP:
|
||||||
val = (TIMESTAMP_STRUCT *)(colDefs[col].PtrDataObj);
|
val = (TIMESTAMP_STRUCT *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
case SQL_C_DOUBLE:
|
case SQL_C_DOUBLE:
|
||||||
val = *(double *)(colDefs[col].PtrDataObj);
|
val = *(double *)(colDefs[colNo].PtrDataObj);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
@@ -2561,57 +2562,57 @@ void csstrncpyt(char *s, const char *t, int n)
|
|||||||
*s = '\0';
|
*s = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDbTable::SetCol(const int col, const wxVariant val)
|
void wxDbTable::SetCol(const int colNo, const wxVariant val)
|
||||||
{
|
{
|
||||||
//FIXME: Add proper wxDateTime support to wxVariant..
|
//FIXME: Add proper wxDateTime support to wxVariant..
|
||||||
wxDateTime dateval;
|
wxDateTime dateval;
|
||||||
|
|
||||||
SetColNull(col, val.IsNull());
|
SetColNull(colNo, val.IsNull());
|
||||||
|
|
||||||
if (!val.IsNull())
|
if (!val.IsNull())
|
||||||
{
|
{
|
||||||
if ((colDefs[col].SqlCtype == SQL_C_DATE)
|
if ((colDefs[colNo].SqlCtype == SQL_C_DATE)
|
||||||
|| (colDefs[col].SqlCtype == SQL_C_TIME)
|
|| (colDefs[colNo].SqlCtype == SQL_C_TIME)
|
||||||
|| (colDefs[col].SqlCtype == SQL_C_TIMESTAMP))
|
|| (colDefs[colNo].SqlCtype == SQL_C_TIMESTAMP))
|
||||||
{
|
{
|
||||||
//Returns null if invalid!
|
//Returns null if invalid!
|
||||||
if (!dateval.ParseDate(val.GetString()))
|
if (!dateval.ParseDate(val.GetString()))
|
||||||
SetColNull(col,TRUE);
|
SetColNull(colNo, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (colDefs[col].SqlCtype)
|
switch (colDefs[colNo].SqlCtype)
|
||||||
{
|
{
|
||||||
case SQL_CHAR:
|
case SQL_CHAR:
|
||||||
case SQL_VARCHAR:
|
case SQL_VARCHAR:
|
||||||
csstrncpyt((char *)(colDefs[col].PtrDataObj),
|
csstrncpyt((char *)(colDefs[colNo].PtrDataObj),
|
||||||
val.GetString().c_str(),
|
val.GetString().c_str(),
|
||||||
colDefs[col].SzDataObj-1);
|
colDefs[colNo].SzDataObj-1);
|
||||||
break;
|
break;
|
||||||
case SQL_C_LONG:
|
case SQL_C_LONG:
|
||||||
case SQL_C_SLONG:
|
case SQL_C_SLONG:
|
||||||
*(long *)(colDefs[col].PtrDataObj) = val;
|
*(long *)(colDefs[colNo].PtrDataObj) = val;
|
||||||
break;
|
break;
|
||||||
case SQL_C_SHORT:
|
case SQL_C_SHORT:
|
||||||
case SQL_C_SSHORT:
|
case SQL_C_SSHORT:
|
||||||
*(short *)(colDefs[col].PtrDataObj) = val.GetLong();
|
*(short *)(colDefs[colNo].PtrDataObj) = val.GetLong();
|
||||||
break;
|
break;
|
||||||
case SQL_C_ULONG:
|
case SQL_C_ULONG:
|
||||||
*(unsigned long *)(colDefs[col].PtrDataObj) = val.GetLong();
|
*(unsigned long *)(colDefs[colNo].PtrDataObj) = val.GetLong();
|
||||||
break;
|
break;
|
||||||
case SQL_C_TINYINT:
|
case SQL_C_TINYINT:
|
||||||
*(char *)(colDefs[col].PtrDataObj) = val.GetChar();
|
*(char *)(colDefs[colNo].PtrDataObj) = val.GetChar();
|
||||||
break;
|
break;
|
||||||
case SQL_C_UTINYINT:
|
case SQL_C_UTINYINT:
|
||||||
*(unsigned char *)(colDefs[col].PtrDataObj) = val.GetChar();
|
*(unsigned char *)(colDefs[colNo].PtrDataObj) = val.GetChar();
|
||||||
break;
|
break;
|
||||||
case SQL_C_USHORT:
|
case SQL_C_USHORT:
|
||||||
*(unsigned short *)(colDefs[col].PtrDataObj) = val.GetLong();
|
*(unsigned short *)(colDefs[colNo].PtrDataObj) = val.GetLong();
|
||||||
break;
|
break;
|
||||||
//FIXME: Add proper wxDateTime support to wxVariant..
|
//FIXME: Add proper wxDateTime support to wxVariant..
|
||||||
case SQL_C_DATE:
|
case SQL_C_DATE:
|
||||||
{
|
{
|
||||||
DATE_STRUCT *dataptr =
|
DATE_STRUCT *dataptr =
|
||||||
(DATE_STRUCT *)colDefs[col].PtrDataObj;
|
(DATE_STRUCT *)colDefs[colNo].PtrDataObj;
|
||||||
|
|
||||||
dataptr->year = dateval.GetYear();
|
dataptr->year = dateval.GetYear();
|
||||||
dataptr->month = dateval.GetMonth()+1;
|
dataptr->month = dateval.GetMonth()+1;
|
||||||
@@ -2621,7 +2622,7 @@ void wxDbTable::SetCol(const int col, const wxVariant val)
|
|||||||
case SQL_C_TIME:
|
case SQL_C_TIME:
|
||||||
{
|
{
|
||||||
TIME_STRUCT *dataptr =
|
TIME_STRUCT *dataptr =
|
||||||
(TIME_STRUCT *)colDefs[col].PtrDataObj;
|
(TIME_STRUCT *)colDefs[colNo].PtrDataObj;
|
||||||
|
|
||||||
dataptr->hour = dateval.GetHour();
|
dataptr->hour = dateval.GetHour();
|
||||||
dataptr->minute = dateval.GetMinute();
|
dataptr->minute = dateval.GetMinute();
|
||||||
@@ -2631,7 +2632,7 @@ void wxDbTable::SetCol(const int col, const wxVariant val)
|
|||||||
case SQL_C_TIMESTAMP:
|
case SQL_C_TIMESTAMP:
|
||||||
{
|
{
|
||||||
TIMESTAMP_STRUCT *dataptr =
|
TIMESTAMP_STRUCT *dataptr =
|
||||||
(TIMESTAMP_STRUCT *)colDefs[col].PtrDataObj;
|
(TIMESTAMP_STRUCT *)colDefs[colNo].PtrDataObj;
|
||||||
dataptr->year = dateval.GetYear();
|
dataptr->year = dateval.GetYear();
|
||||||
dataptr->month = dateval.GetMonth()+1;
|
dataptr->month = dateval.GetMonth()+1;
|
||||||
dataptr->day = dateval.GetDay();
|
dataptr->day = dateval.GetDay();
|
||||||
@@ -2642,7 +2643,7 @@ void wxDbTable::SetCol(const int col, const wxVariant val)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SQL_C_DOUBLE:
|
case SQL_C_DOUBLE:
|
||||||
*(double *)(colDefs[col].PtrDataObj) = val;
|
*(double *)(colDefs[colNo].PtrDataObj) = val;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
@@ -2654,10 +2655,10 @@ void wxDbTable::SetCol(const int col, const wxVariant val)
|
|||||||
GenericKey wxDbTable::GetKey()
|
GenericKey wxDbTable::GetKey()
|
||||||
{
|
{
|
||||||
void *blk;
|
void *blk;
|
||||||
char *blkptr;
|
wxChar *blkptr;
|
||||||
|
|
||||||
blk = malloc(m_keysize);
|
blk = malloc(m_keysize);
|
||||||
blkptr = (char *) blk;
|
blkptr = (wxChar *) blk;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i < noCols; i++)
|
for (i=0; i < noCols; i++)
|
||||||
@@ -2678,11 +2679,11 @@ GenericKey wxDbTable::GetKey()
|
|||||||
|
|
||||||
void wxDbTable::SetKey(const GenericKey& k)
|
void wxDbTable::SetKey(const GenericKey& k)
|
||||||
{
|
{
|
||||||
void *blk;
|
void *blk;
|
||||||
char *blkptr;
|
wxChar *blkptr;
|
||||||
|
|
||||||
blk = k.GetBlk();
|
blk = k.GetBlk();
|
||||||
blkptr = (char *)blk;
|
blkptr = (wxChar *)blk;
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i < noCols; i++)
|
for (i=0; i < noCols; i++)
|
||||||
|
Reference in New Issue
Block a user