]> git.saurik.com Git - wxWidgets.git/commitdiff
new 'dynamic' SetColDefs fix
authorBart A.M. Jourquin <bart.jourquin@fucam.ac.be>
Fri, 21 Jan 2000 10:52:04 +0000 (10:52 +0000)
committerBart A.M. Jourquin <bart.jourquin@fucam.ac.be>
Fri, 21 Jan 2000 10:52:04 +0000 (10:52 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/dbtable.h
src/common/dbtable.cpp

index 5e2daec0ad58ad8abbf58222c2ba287959e2b9fe..5d27927e2a2f1425d5fe50295ff91b21683447d8 100644 (file)
@@ -194,7 +194,10 @@ public:
        void  SetColDefs (int index, const char *fieldName, int dataType, void *pData, int cType,
                                                        int size, bool keyField = FALSE, bool upd = TRUE,
                                                        bool insAllow = TRUE, bool derivedCol = FALSE);
        void  SetColDefs (int index, const char *fieldName, int dataType, void *pData, int cType,
                                                        int size, bool keyField = FALSE, bool upd = TRUE,
                                                        bool insAllow = TRUE, bool derivedCol = FALSE);
-       bool    SetColDefs (wxColInf *colInfs, ULONG numCols, wxColDataPtr *pColDataPtrs);
+       // BJO20000121 : new prototype
+       //      bool    SetColDefs (wxColInf *colInfs, ULONG numCols, wxColDataPtr *pColDataPtrs);
+       wxColDataPtr*   SetColDefs (wxColInf *colInfs, ULONG numCols);
+
        HSTMT *NewCursor(bool setCursor = FALSE, bool bindColumns = TRUE);
        bool    DeleteCursor(HSTMT *hstmtDel);
        void    SetCursor(HSTMT *hstmtActivate = (void **) DEFAULT_CURSOR);
        HSTMT *NewCursor(bool setCursor = FALSE, bool bindColumns = TRUE);
        bool    DeleteCursor(HSTMT *hstmtDel);
        void    SetCursor(HSTMT *hstmtActivate = (void **) DEFAULT_CURSOR);
index e25776555ca82001dc08d9e5ba8040fd24b0d49e..f73f17089dd9da080cb13237d388ed64c9626df0 100644 (file)
@@ -1727,24 +1727,18 @@ void wxTable::SetColDefs (int index, const char *fieldName, int dataType, void *
 
 
 /********** wxTable::SetColDef() **********/
 
 
 /********** wxTable::SetColDef() **********/
-bool wxTable::SetColDefs(wxColInf *pColInfs, ULONG numCols, wxColDataPtr *pColDataPtrs)
+// BJO20000121 : changed prototype in order to return proper pointer on wxColDataPtr's array
+//bool wxTable::SetColDefs(wxColInf *pColInfs, ULONG numCols, wxColDataPtr *pColDataPtrs)
+wxColDataPtr* wxTable::SetColDefs (wxColInf *pColInfs, ULONG numCols)
 {
        assert(pColInfs);
 {
        assert(pColInfs);
+        wxColDataPtr *pColDataPtrs;
 
        if (pColInfs)
        {
                ULONG index;
 
 
        if (pColInfs)
        {
                ULONG index;
 
-        // BJO 991210: This doesn't seem to work. I solved this
-        // by allocating memory in the tables ctor:
-        //
-        // MyTable::MyTable(wxDB *pDB, char *Name, int NbCols, wxColInf *ColInfo):
-        //          wxTable(pDB, Name, NbCols)
-        // {
-        //   m_FreeDbConn = !pDB;
-        //   m_DataPtrs = new wxColDataPtr[NbCols];
-        //   SetColDefs(ColInfo, NbCols, m_DataPtrs);
-        // }
+       
                pColDataPtrs = new wxColDataPtr[numCols+1];
 
         for (index = 0; index < numCols; index++)
                pColDataPtrs = new wxColDataPtr[numCols+1];
 
         for (index = 0; index < numCols; index++)
@@ -1824,7 +1818,7 @@ bool wxTable::SetColDefs(wxColInf *pColInfs, ULONG numCols, wxColDataPtr *pColDa
          SetColDefs (index,pColInfs[index].colName,pColInfs[index].dbDataType, pColDataPtrs[index].PtrDataObj, pColDataPtrs[index].SqlCtype, pColDataPtrs[index].SzDataObj);
                }
        }
          SetColDefs (index,pColInfs[index].colName,pColInfs[index].dbDataType, pColDataPtrs[index].PtrDataObj, pColDataPtrs[index].SqlCtype, pColDataPtrs[index].SzDataObj);
                }
        }
-       return (TRUE);
+       return (pColDataPtrs);
 } // wxTable::SetColDef()
 
 
 } // wxTable::SetColDef()