]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/db.tex
Old API deprecated. Use new and remove old usage where necessary.
[wxWidgets.git] / docs / latex / wx / db.tex
index b735d3481429c452223d4efde38bd68539f331d5..ca6ed4090a190c1bbbee002679d1d45cca0e9745 100644 (file)
@@ -66,21 +66,22 @@ NOTE: In a future release, all ODBC class constants will be prefaced with 'wx'.
 
 These are the databases currently tested and working with the ODBC classes.  A call to \helpref{wxDb::Dbms}{wxdbdbms} will return one of these enumerated values listed below.
 
 
 These are the databases currently tested and working with the ODBC classes.  A call to \helpref{wxDb::Dbms}{wxdbdbms} will return one of these enumerated values listed below.
 
-\begin{verbatim}
-      dbmsUNIDENTIFIED
-      dbmsORACLE
-      dbmsSYBASE_ASA     // Adaptive Server Anywhere
-      dbmsSYBASE_ASE     // Adaptive Server Enterprise
-      dbmsMS_SQL_SERVER
-      dbmsMY_SQL
-      dbmsPOSTGRES
-      dbmsACCESS
-      dbmsDBASE
-      dbmsINFORMIX
-      dbmsVIRTUOSO
-      dbmsDB2
-      dbmdINTERBASE
-\end{verbatim}
+\begin{itemize}\itemsep=0pt
+\item DB2
+\item DBase (IV, V)**
+\item Firebird
+\item INFORMIX
+\item Interbase
+\item MS SQL Server (v7 - minimal testing)
+\item MS Access (97, 2000, 2002, and 2003)
+\item MySQL (2.x and 3.5 - use the 2.5x drivers though)
+\item Oracle (v7, v8, v8i)
+\item Pervasive SQL
+\item PostgreSQL
+\item Sybase (ASA and ASE)
+\item XBase Sequiter
+\item VIRTUOSO
+\end{itemize}
 
 See the remarks in \helpref{wxDb::Dbms}{wxdbdbms} for exceptions/issues with each of these database engines.
 
 
 See the remarks in \helpref{wxDb::Dbms}{wxdbdbms} for exceptions/issues with each of these database engines.
 
@@ -254,8 +255,8 @@ ODBC errors.}
 \wxheading{Remarks}
 
 Default cursor scrolling is defined by wxODBC\_FWD\_ONLY\_CURSORS in setup.h
 \wxheading{Remarks}
 
 Default cursor scrolling is defined by wxODBC\_FWD\_ONLY\_CURSORS in setup.h
-when the wxWindows library is built.  This behavior can be overridden when
-an instance of a wxDb is created (see \helpref{wxDb constructor}{wxdbconstr}).
+when the wxWidgets library is built.  This behavior can be overridden when
+an instance of a wxDb is created (see \helpref{wxDb constructor}{wxdbctor}).
 Default setting of this value true, as not all databases/drivers support
 both types of cursors.
 
 Default setting of this value true, as not all databases/drivers support
 both types of cursors.
 
@@ -319,7 +320,7 @@ This function is used to request a "new" wxDb instance for use by the program.
 The wxDb instance returned is also opened (see \helpref{wxDb::Open}{wxdbopen}).
 
 This function (along with wxDbFreeConnection() and wxDbCloseConnection())
 The wxDb instance returned is also opened (see \helpref{wxDb::Open}{wxdbopen}).
 
 This function (along with wxDbFreeConnection() and wxDbCloseConnection())
-maintain a cached of wxDb instances for user/re-use by a program.  When a
+maintain a cache of wxDb instances for user/re-use by a program.  When a
 program needs a wxDb instance, it may call this function to obtain a wxDb
 instance.  If there is a wxDb instance in the cache that is currently unused
 that matches the connection requirements specified in {\it'pDbConfig'} then
 program needs a wxDb instance, it may call this function to obtain a wxDb
 instance.  If there is a wxDb instance in the cache that is currently unused
 that matches the connection requirements specified in {\it'pDbConfig'} then
@@ -355,7 +356,7 @@ cached connections created by calls to wxDbGetConnection().
 \func{const wxChar *}{wxDbLogExtendedErrorMsg}{\param{const wxChar *}{userText}, \param{wxDb *}{pDb}, \param{wxChar *}{ErrFile}, \param{int }{ErrLine}}
 
 Writes a message to the wxLog window (stdout usually) when an internal
 \func{const wxChar *}{wxDbLogExtendedErrorMsg}{\param{const wxChar *}{userText}, \param{wxDb *}{pDb}, \param{wxChar *}{ErrFile}, \param{int }{ErrLine}}
 
 Writes a message to the wxLog window (stdout usually) when an internal
-error situation occurs.  This function only works in DEBUG builds
+error situation occurs.
 
 \func{bool}{wxDbSqlLog}{\param{wxDbSqlLogState }{state}, \param{const wxString \&}{filename = SQL\_LOG\_FILENAME}}
 
 
 \func{bool}{wxDbSqlLog}{\param{wxDbSqlLogState }{state}, \param{const wxString \&}{filename = SQL\_LOG\_FILENAME}}
 
@@ -380,7 +381,7 @@ available through the ODBC driver manager on the current workstation.
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-\membersection{wxDb::wxDb}\label{wxdbconstr}
+\membersection{wxDb::wxDb}\label{wxdbctor}
 
 \func{}{wxDb}{\void}
 
 
 \func{}{wxDb}{\void}
 
@@ -571,7 +572,7 @@ of a datasource which does support views.
 \begin{verbatim}
    // Incomplete code sample
    db.CreateView("PARTS_SD1", "PN, PD, QTY",
 \begin{verbatim}
    // Incomplete code sample
    db.CreateView("PARTS_SD1", "PN, PD, QTY",
-                 "SELECT PART_NO, PART_DESC, QTY_ON_HAND * 1.1 FROM PARTS \
+                 "SELECT PART_NUM, PART_DESC, QTY_ON_HAND * 1.1 FROM PARTS \
                   WHERE STORAGE_DEVICE = 1");
 
    // PARTS_SD1 can now be queried just as if it were a data table.
                   WHERE STORAGE_DEVICE = 1");
 
    // PARTS_SD1 can now be queried just as if it were a data table.
@@ -596,7 +597,7 @@ Possible values returned by this function can be viewed in the
 \helpref{Enumerated types}{wxdbenumeratedtypes} section of wxDb.
 
 There are known issues with conformance to the ODBC standards with several
 \helpref{Enumerated types}{wxdbenumeratedtypes} section of wxDb.
 
 There are known issues with conformance to the ODBC standards with several
-datasources supported by the wxWindows ODBC classes.  Please see the overview
+datasources supported by the wxWidgets ODBC classes.  Please see the overview
 for specific details on which datasource have which issues.
 
 \wxheading{Return value}
 for specific details on which datasource have which issues.
 
 \wxheading{Return value}
@@ -731,7 +732,7 @@ of processing.
 
 \func{bool}{IsFwdOnlyCursors}{\void}
 
 
 \func{bool}{IsFwdOnlyCursors}{\void}
 
-Older form (pre-2.3/2.4 of wxWindows) of the
+Older form (pre-2.3/2.4 of wxWidgets) of the
 \helpref{wxDb::IsFwdOnlyCursors}{wxdbisfwdonlycursors}.  This method is
 provided for backward compatibility only.  The method
 \helpref{wxDb::IsFwdOnlyCursors}{wxdbisfwdonlycursors} should be
 \helpref{wxDb::IsFwdOnlyCursors}{wxdbisfwdonlycursors}.  This method is
 provided for backward compatibility only.  The method
 \helpref{wxDb::IsFwdOnlyCursors}{wxdbisfwdonlycursors} should be
@@ -841,7 +842,7 @@ to avoid undesired unbinding of columns.}
 
 \membersection{wxDb::GetData}\label{wxdbgetdata}
 
 
 \membersection{wxDb::GetData}\label{wxdbgetdata}
 
-\func{bool}{GetData}{\param{UWORD}{ colNo}, \param{SWORD}{ cType},
+\func{bool}{GetData}{\param{UWORD}{ colNumber}, \param{SWORD}{ cType},
 \param{PTR}{ pData}, \param{SDWORD}{ maxLen}, \param{SDWORD FAR *}{ cbReturned} }
 
 Used to retrieve result set data without binding column values to memory
 \param{PTR}{ pData}, \param{SDWORD}{ maxLen}, \param{SDWORD FAR *}{ cbReturned} }
 
 Used to retrieve result set data without binding column values to memory
@@ -849,7 +850,7 @@ variables (i.e. not using a wxDbTable instance to access table data).
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{colNo}{Ordinal number of the desired column in the result set to be
+\docparam{colNumber}{Ordinal number of the desired column in the result set to be
 returned.}
 \docparam{cType}{The C data type that is to be returned.  See a partial list
 in \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs}}
 returned.}
 \docparam{cType}{The C data type that is to be returned.  See a partial list
 in \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs}}
@@ -941,7 +942,7 @@ Returns the ODBC statement handle associated with this database connection.
 
 \membersection{wxDb::GetKeyFields}\label{wxdbgetkeyfields}
 
 
 \membersection{wxDb::GetKeyFields}\label{wxdbgetkeyfields}
 
-\func{int }{GetKeyFields}{\param{const wxString \&}{tableName}, \param{wxDbColInf *}{colInf}, \param{UWORD }{nocols}}
+\func{int }{GetKeyFields}{\param{const wxString \&}{tableName}, \param{wxDbColInf *}{colInf}, \param{UWORD }{numColumns}}
 
 Used to determine which columns are members of primary or non-primary indexes on the specified table.  If a column is a member of a foreign key for some other table, that information is detected also.
 
 
 Used to determine which columns are members of primary or non-primary indexes on the specified table.  If a column is a member of a foreign key for some other table, that information is detected also.
 
@@ -951,7 +952,7 @@ This function is primarily for use by the \helpref{wxDb::GetColumns}{wxdbgetcolu
 
 \docparam{tableName}{Name of the table for which the columns will be evaluated as to their inclusion in any indexes.}
 \docparam{colInf}{Data structure containing the column definitions (obtained with \helpref{wxDb::GetColumns}{wxdbgetcolumns}).  This function populates the PkCol, PkTableName, and FkTableName members of the colInf structure.}
 
 \docparam{tableName}{Name of the table for which the columns will be evaluated as to their inclusion in any indexes.}
 \docparam{colInf}{Data structure containing the column definitions (obtained with \helpref{wxDb::GetColumns}{wxdbgetcolumns}).  This function populates the PkCol, PkTableName, and FkTableName members of the colInf structure.}
-\docparam{nocols}{Number of columns defined in the instance of colInf.}
+\docparam{numColumns}{Number of columns defined in the instance of colInf.}
 
 \wxheading{Return value}
 
 
 \wxheading{Return value}
 
@@ -1083,7 +1084,7 @@ The default setting of whether a wxDb connection to a database allows
 forward-only or also backward scrolling cursors is defined in setup.h by the
 value of wxODBC\_FWD\_ONLY\_CURSORS.  This default setting can be overridden
 when the wxDb connection is initially created (see
 forward-only or also backward scrolling cursors is defined in setup.h by the
 value of wxODBC\_FWD\_ONLY\_CURSORS.  This default setting can be overridden
 when the wxDb connection is initially created (see
-\helpref{wxDb constructor}{wxdbconstr} and \helpref{wxDbGetConnection}{wxdbfunctions}).
+\helpref{wxDb constructor}{wxdbctor} and \helpref{wxDbGetConnection}{wxdbfunctions}).
 
 \wxheading{Return value}
 
 
 \wxheading{Return value}
 
@@ -1093,17 +1094,17 @@ use backward scrolling cursors and their associated functions (see note above).
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-Added as of wxWindows v2.4 release, this function is a renamed version of
-wxDb::FwdOnlyCursors() to match the normal wxWindows naming conventions for
+Added as of wxWidgets v2.4 release, this function is a renamed version of
+wxDb::FwdOnlyCursors() to match the normal wxWidgets naming conventions for
 class member functions.
 
 This function is not available in versions prior to v2.4.  You should
 class member functions.
 
 This function is not available in versions prior to v2.4.  You should
-use \helpref{wxDb::FwdOnlyCursors}{wxdbfwdonlycursors} for wxWindows
+use \helpref{wxDb::FwdOnlyCursors}{wxdbfwdonlycursors} for wxWidgets
 versions prior to 2.4.
 
 \wxheading{See also}
 
 versions prior to 2.4.
 
 \wxheading{See also}
 
-\helpref{wxDb constructor}{wxdbconstr}, \helpref{wxDbGetConnection}{wxdbfunctions}
+\helpref{wxDb constructor}{wxdbctor}, \helpref{wxDbGetConnection}{wxdbfunctions}
 
 \membersection{wxDb::IsOpen}\label{wxdbisopen}
 
 
 \membersection{wxDb::IsOpen}\label{wxdbisopen}
 
@@ -1185,7 +1186,13 @@ used for behavioral descriptions.
 \membersection{wxDb::Open}\label{wxdbopen}
 
 \func{bool}{Open}{\param{const wxString \&}{Dsn}, \param{const wxString \&}{Uid},
 \membersection{wxDb::Open}\label{wxdbopen}
 
 \func{bool}{Open}{\param{const wxString \&}{Dsn}, \param{const wxString \&}{Uid},
-\param{const wxString \&}{AuthStr}}
+\param{const wxString \&}{AuthStr}, \param{bool }{failOnDataTypeUnsupported}}
+
+\func{bool}{Open}{\param{const wxString \&}{inConnectStr}, 
+\param{bool }{failOnDataTypeUnsupported}}
+
+\func{bool}{Open}{\param{wxDbConnectInf *}{dbConnectInf}, 
+\param{bool }{failOnDataTypeUnsupported}}
 
 \func{bool}{Open}{\param{wxDb *}{copyDb}}
 
 
 \func{bool}{Open}{\param{wxDb *}{copyDb}}
 
@@ -1222,9 +1229,25 @@ Privileges include being able to create new objects, update objects, delete
 objects and so on.  Users and privileges are normally administered by the
 database administrator.}
 \docparam{AuthStr}{The password associated with the Uid.}
 objects and so on.  Users and privileges are normally administered by the
 database administrator.}
 \docparam{AuthStr}{The password associated with the Uid.}
-\docparam{copyDb}{Already completely configured and opened datasource connection
-from which all Dsn, Uid, AuthStr, and data typing information is to be copied
-from for use by this datasource connection.}
+\docparam{failOnDataTypeUnsupporte}{As part of connecting to a database, the 
+wxDb::Open() function will query the database to find out the native types 
+that it supports.  With some databases, some data types may not be supported,
+or not sufficiently supported, for use with the wxODBC classes.  Normally
+a program should fail in this case, so as not to try to use a data type
+that is not supported.  This parameter allows the programmer to override the
+failure if they wish and continue on using the connection.}
+\docparam{dbConnectInf}{Contains a DSN, Uid, Password, or a connection string 
+to be used in opening a new connection to the database.  If a connection
+string is present, then the connection string will be used.  If there is no 
+connection string present, then the DSN, Uid, and Password are used.}
+\docparam{inConnectStr}{A valid ODBC connection string used to connect to a 
+database}
+\docparam{copyDb}{Already completely configured and opened datasource 
+connection from which all Dsn, Uid, AuthStr, connection string, and data 
+typing information is to be copied from for use by this datasource 
+connection.  If 'copyDb' used a connection string to create its connection 
+originally, then the connection being made by this call to wxDb::Open() will 
+use that same connection string.}
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
@@ -1313,7 +1336,7 @@ When compiled in release mode (FINAL=1), this setting has no affect.
 
 \wxheading{See also}
 
 
 \wxheading{See also}
 
-\helpref{wxDb constructor}{wxdbconstr}
+\helpref{wxDb constructor}{wxdbctor}
 
 \membersection{wxDb::SetSqlLogging}\label{wxdbsetsqllogging}
 
 
 \membersection{wxDb::SetSqlLogging}\label{wxdbsetsqllogging}
 
@@ -1543,7 +1566,7 @@ This class is used to hold information about the columns bound to an
 instance of a wxDbTable object.
 
 Each instance of this class describes one column in the wxDbTable
 instance of a wxDbTable object.
 
 Each instance of this class describes one column in the wxDbTable
-object.  When calling the \helpref{wxDb constructor}{wxdbconstr}, a
+object.  When calling the \helpref{wxDb constructor}{wxdbctor}, a
 parameter passed in indicates the number of columns that will be defined for
 the wxDbTable object.  The constructor uses this information to allocate
 adequate memory for all of the column descriptions in your wxDbTable object.
 parameter passed in indicates the number of columns that will be defined for
 the wxDbTable object.  The constructor uses this information to allocate
 adequate memory for all of the column descriptions in your wxDbTable object.
@@ -1580,7 +1603,7 @@ public.
 \wxheading{See also}
 
 \helpref{database classes overview}{odbcoverview},
 \wxheading{See also}
 
 \helpref{database classes overview}{odbcoverview},
-\helpref{wxDbTable::GetColDefs}{wxdbtablegetcoldefs}, \helpref{wxDb constructor}{wxdbconstr}
+\helpref{wxDbTable::GetColDefs}{wxdbtablegetcoldefs}, \helpref{wxDb constructor}{wxdbctor}
 
 \membersection{wxDbColDef::Initialize}\label{wxdbcoldefinitialize}
 
 
 \membersection{wxDbColDef::Initialize}\label{wxdbcoldefinitialize}
 
@@ -1689,7 +1712,7 @@ name, user ID, password and default directory path (used with dBase).  Other
 optional fields held in this class are and file type, both for future
 functions planned to be added for creating/manipulating datasource definitions.
 
 optional fields held in this class are and file type, both for future
 functions planned to be added for creating/manipulating datasource definitions.
 
-\membersection{wxDbConnectInf::wxDbConnectInf}
+\membersection{wxDbConnectInf::wxDbConnectInf}\label{wxdbconnectinfctor}
 
 \func{}{wxDbConnectInf}{\void}
 
 
 \func{}{wxDbConnectInf}{\void}
 
@@ -1938,7 +1961,7 @@ Accessor function to set the user ID for this class instance.
 
 Accessor function to assign the user ID for this class instance.
 
 
 Accessor function to assign the user ID for this class instance.
 
-\section{\class{wxDbIdxDef}}\label{wxdbidxdef}
+\section{\class{wxDbIndexDef}}\label{wxdbIndexdef}
 
 Used in creation of non-primary indexes.  Currently there are no member
 functions for this class.
 
 Used in creation of non-primary indexes.  Currently there are no member
 functions for this class.
@@ -1963,7 +1986,7 @@ class so a program can create a wxDbTableInf array instance to maintain all
 information about all tables in the datasource to have all the datasource's
 information in one memory structure.
 
 information about all tables in the datasource to have all the datasource's
 information in one memory structure.
 
-Primarily, this class is used internally by the wxWindows ODBC classes.
+Primarily, this class is used internally by the wxWidgets ODBC classes.
 
 \begin{verbatim}
     wxChar        catalog[128+1];
 
 \begin{verbatim}
     wxChar        catalog[128+1];
@@ -2009,7 +2032,7 @@ with the wxDbTable class.
 \begin{itemize}\itemsep=0pt
 \item \helpref{wxDbColDef}{wxdbcoldef}
 \item \helpref{wxDbColDataPtr}{wxdbcoldataptr}
 \begin{itemize}\itemsep=0pt
 \item \helpref{wxDbColDef}{wxdbcoldef}
 \item \helpref{wxDbColDataPtr}{wxdbcoldataptr}
-\item \helpref{wxDbIdxDef}{wxdbidxdef}
+\item \helpref{wxDbIndexDef}{wxdbIndexdef}
 \end{itemize}
 
 \wxheading{Constants}
 \end{itemize}
 
 \wxheading{Constants}
@@ -2145,7 +2168,7 @@ this function.
 Constructs the full SQL statement that can be used to update all rows matching
 the criteria in the pWhereClause.
 
 Constructs the full SQL statement that can be used to update all rows matching
 the criteria in the pWhereClause.
 
-If typeOfUpd is DB\_UPD\_KEYFIELDS, then the current values in the bound columns
+If typeOfUpdate is DB\_UPD\_KEYFIELDS, then the current values in the bound columns
 are used to determine which row(s) in the table are to be updated. The
 exception to this is when a datasource supports ROW IDs (Oracle).  The ROW ID
 column is used for efficiency purposes when available.
 are used to determine which row(s) in the table are to be updated. The
 exception to this is when a datasource supports ROW IDs (Oracle).  The ROW ID
 column is used for efficiency purposes when available.
@@ -2161,9 +2184,9 @@ by this function.
 \docparam{pSqlStmt}{Pointer to storage for the SQL statement retrieved.  To be
 sure you have adequate space allocated for the SQL statement, allocate
 DB\_MAX\_STATEMENT\_LEN bytes.}
 \docparam{pSqlStmt}{Pointer to storage for the SQL statement retrieved.  To be
 sure you have adequate space allocated for the SQL statement, allocate
 DB\_MAX\_STATEMENT\_LEN bytes.}
-\docparam{typeOfUpd}{The type of update statement being performed.  Can be one
+\docparam{typeOfUpdate}{The type of update statement being performed.  Can be one
 of two values: DB\_UPD\_KEYFIELDS or DB\_UPD\_WHERE.}
 of two values: DB\_UPD\_KEYFIELDS or DB\_UPD\_WHERE.}
-\docparam{pWhereClause}{{\it OPTIONAL}.  If the typeOfUpd is DB\_UPD\_WHERE,
+\docparam{pWhereClause}{{\it OPTIONAL}.  If the typeOfUpdate is DB\_UPD\_WHERE,
 then you must also pass in a SQL WHERE clause in this argument. Default is "".}
 
 \wxheading{Remarks}
 then you must also pass in a SQL WHERE clause in this argument. Default is "".}
 
 \wxheading{Remarks}
@@ -2265,26 +2288,26 @@ to an Oracle datasource or not.
     // Incomplete code sample
     wxDbTable parts;
     .....
     // Incomplete code sample
     wxDbTable parts;
     .....
-    if (parts.CanUpdByROWID())
+    if (parts.CanUpdateByROWID())
     {
         // Note that the ROWID column must always be the last column selected
     {
         // Note that the ROWID column must always be the last column selected
-        sqlStmt = "SELECT PART_NO, PART_DESC, ROWID" FROM PARTS";
+        sqlStmt = "SELECT PART_NUM, PART_DESC, ROWID" FROM PARTS";
     }
     else
     }
     else
-        sqlStmt = "SELECT PART_NO, PART_DESC FROM PARTS";
+        sqlStmt = "SELECT PART_NUM, PART_DESC FROM PARTS";
 \end{verbatim}
 
 
 \membersection{wxDbTable::ClearMemberVar}\label{wxdbtableclearmembervar}
 
 \end{verbatim}
 
 
 \membersection{wxDbTable::ClearMemberVar}\label{wxdbtableclearmembervar}
 
-\func{void}{ClearMemberVar}{\param{UWORD }{colNo}, \param{bool }{setToNull=false}}
+\func{void}{ClearMemberVar}{\param{UWORD }{colNumber}, \param{bool }{setToNull=false}}
 
 Same as \helpref{wxDbTable::ClearMemberVars}{wxdbtableclearmembervars} except
 that this function clears only the specified column of its values, and
 optionally sets the column to be a NULL column.
 
 
 Same as \helpref{wxDbTable::ClearMemberVars}{wxdbtableclearmembervars} except
 that this function clears only the specified column of its values, and
 optionally sets the column to be a NULL column.
 
-\docparam{colNo}{Column number that is to be cleared.  This number (between 0
-and (noCols-1)) is the index of the column definition created using the
+\docparam{colNumber}{Column number that is to be cleared.  This number (between 0
+and (numColumns-1)) is the index of the column definition created using the
 \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs} function.}
 \docparam{setToNull}{{\it OPTIONAL}.  Indicates whether the column should be
 flagged as being a NULL value stored in the bound memory variable.  If true,
 \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs} function.}
 \docparam{setToNull}{{\it OPTIONAL}.  Indicates whether the column should be
 flagged as being a NULL value stored in the bound memory variable.  If true,
@@ -2391,8 +2414,8 @@ this function.
 
 \membersection{wxDbTable::CreateIndex}\label{wxdbtablecreateindex}
 
 
 \membersection{wxDbTable::CreateIndex}\label{wxdbtablecreateindex}
 
-\func{bool}{CreateIndex}{\param{const wxString \&}{idxName}, \param{bool }{unique},
-\param{UWORD }{noIdxCols}, \param{wxDbIdxDef *}{pIdxDefs},
+\func{bool}{CreateIndex}{\param{const wxString \&}{IndexName}, \param{bool }{unique},
+\param{UWORD }{numIndexColumns}, \param{wxDbIndexDef *}{pIndexDefs},
 \param{bool }{attemptDrop=true}}
 
 This member function allows you to create secondary (non primary) indexes on
 \param{bool }{attemptDrop=true}}
 
 This member function allows you to create secondary (non primary) indexes on
@@ -2407,11 +2430,11 @@ take advantage of those indexes.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{idxName}{Name of the Index.  Name must be unique within the table
+\docparam{IndexName}{Name of the Index.  Name must be unique within the table
 space of the datasource.}
 \docparam{unique}{Indicates if this index is unique.}
 space of the datasource.}
 \docparam{unique}{Indicates if this index is unique.}
-\docparam{noIdxCols}{Number of columns in the index.}
-\docparam{pIdxDefs}{A pointer to an array wxDbIdxDef structures. }
+\docparam{numIndexColumns}{Number of columns in the index.}
+\docparam{pIndexDefs}{A pointer to an array wxDbIndexDef structures. }
 \docparam{attemptDrop}{{\it OPTIONAL}.  Indicates if the function should try
 to execute a \helpref{wxDbTable::DropIndex}{wxdbtabledropindex} on the index
 name provided before trying to create the index name.  Default is true.}
 \docparam{attemptDrop}{{\it OPTIONAL}.  Indicates if the function should try
 to execute a \helpref{wxDbTable::DropIndex}{wxdbtabledropindex} on the index
 name provided before trying to create the index name.  Default is true.}
@@ -2421,7 +2444,7 @@ name provided before trying to create the index name.  Default is true.}
 The first parameter, index name, must be unique and should be given a
 meaningful name.  Common practice is to include the table name as a prefix
 in the index name (e.g. For table PARTS, you might want to call your index
 The first parameter, index name, must be unique and should be given a
 meaningful name.  Common practice is to include the table name as a prefix
 in the index name (e.g. For table PARTS, you might want to call your index
-PARTS\_IDX1).  This will allow you to easily view all
+PARTS\_Index1).  This will allow you to easily view all
 of the indexes defined for a given table grouped together alphabetically.
 
 The second parameter indicates if the index is unique or not.  Uniqueness
 of the indexes defined for a given table grouped together alphabetically.
 
 The second parameter indicates if the index is unique or not.  Uniqueness
@@ -2430,12 +2453,12 @@ indexes from being inserted into the table when violating a unique index's
 uniqueness.
 
 In the third parameter, specify how many columns are in your index.  This
 uniqueness.
 
 In the third parameter, specify how many columns are in your index.  This
-number must match the number of columns defined in the 'pIdxDefs' parameter.
+number must match the number of columns defined in the 'pIndexDefs' parameter.
 
 The fourth parameter specifies which columns make up the index using the
 
 The fourth parameter specifies which columns make up the index using the
-wxDbIdxDef structure.  For each column in the index, you must specify two
+wxDbIndexDef structure.  For each column in the index, you must specify two
 things, the column name and the sort order (ascending / descending).  See
 things, the column name and the sort order (ascending / descending).  See
-the example below to see how to build and pass in the wxDbIdxDef structure.
+the example below to see how to build and pass in the wxDbIndexDef structure.
 
 The fifth parameter is provided to handle the differences in datasources as
 to whether they will automatically overwrite existing indexes with the same
 
 The fifth parameter is provided to handle the differences in datasources as
 to whether they will automatically overwrite existing indexes with the same
@@ -2460,18 +2483,18 @@ after executing this function.
 
 \begin{verbatim}
     // Create a secondary index on the PARTS table
 
 \begin{verbatim}
     // Create a secondary index on the PARTS table
-    wxDbIdxDef  idxDef[2];  // 2 columns make up the index
+    wxDbIndexDef  IndexDef[2];  // 2 columns make up the index
 
 
-    wxStrcpy(idxDef[0].ColName, "PART_DESC");  // Column 1
-    idxDef[0].Ascending = true;
+    wxStrcpy(IndexDef[0].ColName, "PART_DESC");  // Column 1
+    IndexDef[0].Ascending = true;
 
 
-    wxStrcpy(idxDef[1].ColName, "SERIAL_NO");  // Column 2
-    idxDef[1].Ascending = false;
+    wxStrcpy(IndexDef[1].ColName, "SERIAL_NO");  // Column 2
+    IndexDef[1].Ascending = false;
 
     // Create a name for the index based on the table's name
     wxString indexName;
 
     // Create a name for the index based on the table's name
     wxString indexName;
-    indexName.Printf("%s_IDX1",parts->GetTableName());
-    parts->CreateIndex(indexName, true, 2, idxDef);
+    indexName.Printf("%s_Index1",parts->GetTableName());
+    parts->CreateIndex(indexName, true, 2, IndexDef);
 \end{verbatim}
 
 \membersection{wxDbTable::CreateTable}\label{wxdbtablecreatetable}
 \end{verbatim}
 
 \membersection{wxDbTable::CreateTable}\label{wxdbtablecreatetable}
@@ -2669,18 +2692,18 @@ this function.
 
 \membersection{wxDbTable::DropIndex}\label{wxdbtabledropindex}
 
 
 \membersection{wxDbTable::DropIndex}\label{wxdbtabledropindex}
 
-\func{bool}{DropIndex}{\param{const wxString \&}{idxName}}
+\func{bool}{DropIndex}{\param{const wxString \&}{IndexName}}
 
 Allows an index on the associated table to be dropped (deleted) if the user
 login has sufficient privileges to do so.
 
 \wxheading{Parameters}
 
 
 Allows an index on the associated table to be dropped (deleted) if the user
 login has sufficient privileges to do so.
 
 \wxheading{Parameters}
 
-\docparam{idxName}{Name of the index to be dropped.}
+\docparam{IndexName}{Name of the index to be dropped.}
 
 \wxheading{Remarks}
 
 
 \wxheading{Remarks}
 
-If the index specified in the 'idxName' parameter does not exist, an error
+If the index specified in the 'IndexName' parameter does not exist, an error
 will be logged, and the function will return a result of false.
 
 It is not necessary to call \helpref{wxDb::CommitTrans}{wxdbcommittrans}
 will be logged, and the function will return a result of false.
 
 It is not necessary to call \helpref{wxDb::CommitTrans}{wxdbcommittrans}
@@ -3041,20 +3064,20 @@ this function to commit or rollback the insertion.
 
 \membersection{wxDbTable::IsColNull}\label{wxdbtableiscolnull}
 
 
 \membersection{wxDbTable::IsColNull}\label{wxdbtableiscolnull}
 
-\func{bool }{IsColNull}{\param{UWORD }{colNo}} const
+\func{bool }{IsColNull}{\param{UWORD }{colNumber}} const
 
 Used primarily in the ODBC class library to determine if a column value is
 set to "NULL".  Works for all data types supported by the ODBC class library.
 
 \wxheading{Parameters}
 
 
 Used primarily in the ODBC class library to determine if a column value is
 set to "NULL".  Works for all data types supported by the ODBC class library.
 
 \wxheading{Parameters}
 
-\docparam{colNo}{The column number of the bound column as defined by the
+\docparam{colNumber}{The column number of the bound column as defined by the
 \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs}
 calls which defined the columns accessible to this wxDbTable instance.}
 
 \wxheading{Remarks}
 
 \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs}
 calls which defined the columns accessible to this wxDbTable instance.}
 
 \wxheading{Remarks}
 
-NULL column support is currently not fully implemented as of wxWindows 2.4.
+NULL column support is currently not fully implemented as of wxWidgets 2.4.
 
 \membersection{wxDbTable::IsCursorClosedOnCommit}\label{wxdbtableiscursorclosedoncommit}
 
 
 \membersection{wxDbTable::IsCursorClosedOnCommit}\label{wxdbtableiscursorclosedoncommit}
 
@@ -3095,6 +3118,13 @@ cursors, (insert/select and update if connection is not wxDB\_QUERY\_ONLY) and
 constructs the insert statement that is to be used for inserting data as a new
 row in the datasource.
 
 constructs the insert statement that is to be used for inserting data as a new
 row in the datasource.
 
+NOTE: To retrieve data into an opened table, the of the table must be bound
+to the variables in the program via call(s) to 
+\helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs} before calling Open().
+
+See the \helpref{database classes overview}{odbcoverview} for
+an introduction to using the ODBC classes.
+
 \wxheading{Parameters}
 
 \docparam{checkPrivileges}{Indicates whether the Open() function should check
 \wxheading{Parameters}
 
 \docparam{checkPrivileges}{Indicates whether the Open() function should check
@@ -3128,6 +3158,7 @@ function can significantly speed up the privileges checks.
 
 \helpref{wxDb::TableExists}{wxdbtableexists},
 \helpref{wxDb::TablePrivileges}{wxdbtableprivileges}
 
 \helpref{wxDb::TableExists}{wxdbtableexists},
 \helpref{wxDb::TablePrivileges}{wxdbtableprivileges}
+\helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs}
 
 \membersection{wxDbTable::OrderBy}\label{wxdbtableorderby}
 
 
 \membersection{wxDbTable::OrderBy}\label{wxdbtableorderby}
 
@@ -3275,7 +3306,7 @@ wxDbTable constructor, it is specified how many columns are in
 the wxDbTable object. The SELECT statement must return exactly
 that many columns.
 \item The columns must be returned in the same sequence as specified
 the wxDbTable object. The SELECT statement must return exactly
 that many columns.
 \item The columns must be returned in the same sequence as specified
-when defining the bounds columns using wxDbTable::SetColDefs(),
+when defining the bounds columns \helpref{wxDbTable::SetColDefs}{wxdbtablesetcoldefs},
 and the columns returned must be of the proper data type.  For
 example, if column 3 is defined in the wxDbTable bound column
 definitions to be a float, the SELECT statement must return a
 and the columns returned must be of the proper data type.  For
 example, if column 3 is defined in the wxDbTable bound column
 definitions to be a float, the SELECT statement must return a
@@ -3283,7 +3314,7 @@ float for column 3 (e.g. PRICE * 1.10 to increase the price by
 10%).
 \item The ROWID can be included in your SELECT statement as the {\bf last}
 column selected, if the datasource supports it.  Use
 10%).
 \item The ROWID can be included in your SELECT statement as the {\bf last}
 column selected, if the datasource supports it.  Use
-wxDbTable::CanUpdByROWID() to determine if the ROWID can be
+wxDbTable::CanUpdateByROWID() to determine if the ROWID can be
 selected from the datasource.  If it can, much better
 performance can be achieved on updates and deletes by including
 the ROWID in the SELECT statement.
 selected from the datasource.  If it can, much better
 performance can be achieved on updates and deletes by including
 the ROWID in the SELECT statement.
@@ -3323,7 +3354,7 @@ either \helpref{wxDbTable::GetFirst}{wxdbtablegetfirst} or
     ----------------------
 
     // Table Join returning 3 columns
     ----------------------
 
     // Table Join returning 3 columns
-    SELECT part_no, part_desc, sd_name
+    SELECT PART_NUM, part_desc, sd_name
         from parts, storage_devices
         where parts.storage_device_id =
               storage_devices.storage_device_id
         from parts, storage_devices
         where parts.storage_device_id =
               storage_devices.storage_device_id
@@ -3333,10 +3364,10 @@ either \helpref{wxDbTable::GetFirst}{wxdbtablegetfirst} or
     SELECT count(*) from PARTS where container = 99
 
     // Order by clause; ROWID, scalar function
     SELECT count(*) from PARTS where container = 99
 
     // Order by clause; ROWID, scalar function
-    SELECT part_no, substring(part_desc, 1, 10), qty_on_hand + 1, ROWID
+    SELECT PART_NUM, substring(part_desc, 1, 10), qty_on_hand + 1, ROWID
         from parts
         where warehouse = 10
         from parts
         where warehouse = 10
-        order by part_no desc           // descending order
+        order by PART_NUM desc           // descending order
 
     // Subquery
     SELECT * from parts
 
     // Subquery
     SELECT * from parts
@@ -3482,10 +3513,10 @@ table's columns are refreshed to reflect the current data in the database.
 
 \membersection{wxDbTable::SetColDefs}\label{wxdbtablesetcoldefs}
 
 
 \membersection{wxDbTable::SetColDefs}\label{wxdbtablesetcoldefs}
 
-\func{void}{SetColDefs}{\param{UWORD }{index}, \param{const wxString \&}{fieldName},
+\func{bool}{SetColDefs}{\param{UWORD }{index}, \param{const wxString \&}{fieldName},
 \param{int }{dataType}, \param{void *}{pData}, \param{SWORD }{cType},
 \param{int }{dataType}, \param{void *}{pData}, \param{SWORD }{cType},
-\param{int }{size}, \param{bool }{keyField = false}, \param{bool }{upd = true},
-\param{bool }{insAllow = true}, \param{bool }{derivedCol = false}}
+\param{int }{size}, \param{bool }{keyField = false}, \param{bool }{updateable = true},
+\param{bool }{insertAllowed = true}, \param{bool }{derivedColumn = false}}
 
 \func{wxDbColDataPtr *}{SetColDefs}{\param{wxDbColInf *}{colInfs}, \param{UWORD }{numCols}}
 
 
 \func{wxDbColDataPtr *}{SetColDefs}{\param{wxDbColInf *}{colInfs}, \param{UWORD }{numCols}}
 
@@ -3511,7 +3542,8 @@ representation of the data is converted to to be stored in {\it pData}.
 Other valid types are available also, but these are the most common ones:}
 
 \begin{verbatim}
 Other valid types are available also, but these are the most common ones:}
 
 \begin{verbatim}
-    SQL_C_CHAR      // strings
+    SQL_C_CHAR      // string - deprecated: use SQL_C_WXCHAR
+    SQL_C_WXCHAR    // string - Used transparently in unicode or non-unicode builds
     SQL_C_LONG
     SQL_C_ULONG
     SQL_C_SHORT
     SQL_C_LONG
     SQL_C_ULONG
     SQL_C_SHORT
@@ -3528,11 +3560,11 @@ Other valid types are available also, but these are the most common ones:}
 \docparam{size}{Maximum size in bytes of the {\it pData} object.}
 \docparam{keyField}{{\it OPTIONAL}.  Indicates if this column is part of the
 primary index.  Default is false.}
 \docparam{size}{Maximum size in bytes of the {\it pData} object.}
 \docparam{keyField}{{\it OPTIONAL}.  Indicates if this column is part of the
 primary index.  Default is false.}
-\docparam{upd}{{\it OPTIONAL}.  Are updates allowed on this column?
+\docparam{updateable}{{\it OPTIONAL}.  Are updates allowed on this column?
 Default is true.}
 Default is true.}
-\docparam{insAllow}{{\it OPTIONAL}.  Inserts allowed on this column?
+\docparam{insertAllowed}{{\it OPTIONAL}.  Inserts allowed on this column?
 Default is true.}
 Default is true.}
-\docparam{derivedCol}{{\it OPTIONAL}.  Is this a derived column (non-base
+\docparam{derivedColumn}{{\it OPTIONAL}.  Is this a derived column (non-base
 table column for query only)?  Default is false.}
 
 \docparam{colInfs}{Pointer to an array of wxDbColInf instances which contains
 table column for query only)?  Default is false.}
 
 \docparam{colInfs}{Pointer to an array of wxDbColInf instances which contains
@@ -3545,6 +3577,14 @@ to by {\it colInfs}, which are to have column definitions created from them.}
 If {\it pData} is to hold a string of characters, be sure to include enough
 space for the NULL terminator in pData and in the byte count of {\it size}.
 
 If {\it pData} is to hold a string of characters, be sure to include enough
 space for the NULL terminator in pData and in the byte count of {\it size}.
 
+Using the first form of this function, if the column definition is not able 
+to be created, a value of false is returned.  If the specified index of the 
+column exceeds the number of columns defined in the wxDbTable instance, an
+assert is thrown and logged (in debug builds) and a false is returned.
+
+A failure to create the column definition in the second form results in a 
+value of NULL being returned.
+
 Both forms of this function provide a shortcut for defining the columns in
 your wxDbTable object.  Use this function in any derived wxDbTable
 constructor when describing the column/columns in the wxDbTable object.
 Both forms of this function provide a shortcut for defining the columns in
 your wxDbTable object.  Use this function in any derived wxDbTable
 constructor when describing the column/columns in the wxDbTable object.
@@ -3561,10 +3601,10 @@ were to be copied over to another datasource or table.
 
 \begin{verbatim}
     // Long way not using this function
 
 \begin{verbatim}
     // Long way not using this function
-    wxStrcpy(colDefs[0].ColName, "PART_NO");
+    wxStrcpy(colDefs[0].ColName, "PART_NUM");
     colDefs[0].DbDataType   = DB_DATA_TYPE_VARCHAR;
     colDefs[0].PtrDataObj   = PartNumber;
     colDefs[0].DbDataType   = DB_DATA_TYPE_VARCHAR;
     colDefs[0].PtrDataObj   = PartNumber;
-    colDefs[0].SqlCtype     = SQL_C_CHAR;
+    colDefs[0].SqlCtype     = SQL_C_WXCHAR;
     colDefs[0].SzDataObj    = PART_NUMBER_LEN;
     colDefs[0].KeyField     = true;
     colDefs[0].Updateable   = false;
     colDefs[0].SzDataObj    = PART_NUMBER_LEN;
     colDefs[0].KeyField     = true;
     colDefs[0].Updateable   = false;
@@ -3572,8 +3612,8 @@ were to be copied over to another datasource or table.
     colDefs[0].DerivedCol   = false;
 
     // Shortcut using this function
     colDefs[0].DerivedCol   = false;
 
     // Shortcut using this function
-    SetColDefs(0, "PART_NUMBER", DB_DATA_TYPE_VARCHAR, PartNumber,
-               SQL_C_CHAR, PART_NUMBER_LEN, true, false,true,false);
+    SetColDefs(0, "PART_NUM", DB_DATA_TYPE_VARCHAR, PartNumber,
+               SQL_C_WXCHAR, PART_NUMBER_LEN, true, false, true, false);
 \end{verbatim}
 
 \membersection{wxDbTable::SetCursor}\label{wxdbtablesetcursor}
 \end{verbatim}
 
 \membersection{wxDbTable::SetCursor}\label{wxdbtablesetcursor}
@@ -3656,7 +3696,7 @@ the datasource knows on which column values the tables should be joined on.
 
 \membersection{wxDbTable::SetColNull}\label{wxdbtablesetcolnull}
 
 
 \membersection{wxDbTable::SetColNull}\label{wxdbtablesetcolnull}
 
-\func{bool}{SetColNull}{\param{UWORD }{colNo}, \param{bool }{set=true}}
+\func{bool}{SetColNull}{\param{UWORD }{colNumber}, \param{bool }{set=true}}
 
 \func{bool}{SetColNull}{\param{const wxString \&}{colName},
 \param{bool }{set=true}}
 
 \func{bool}{SetColNull}{\param{const wxString \&}{colName},
 \param{bool }{set=true}}
@@ -3670,7 +3710,7 @@ the actual column name to be specified.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{colNo}{Index into the column definitions used when first defining
+\docparam{colNumber}{Index into the column definitions used when first defining
 this wxDbTable object.}
 \docparam{colName}{Actual data table column name that is to be set to NULL.}
 \docparam{set}{Whether the column is set to NULL or not.  Passing true sets
 this wxDbTable object.}
 \docparam{colName}{Actual data table column name that is to be set to NULL.}
 \docparam{set}{Whether the column is set to NULL or not.  Passing true sets
@@ -3948,7 +3988,7 @@ an introduction to using the wxDbGrid classes.
 
 \membersection{wxDbGridColInfo::wxDbGridColInfo}\label{wxdbgridcolinfoctor}
 
 
 \membersection{wxDbGridColInfo::wxDbGridColInfo}\label{wxdbgridcolinfoctor}
 
-\func{}{wxDbGridColInfo}{\param{int }{colNo}, \param{wxString }{type},
+\func{}{wxDbGridColInfo}{\param{int }{colNumber}, \param{wxString }{type},
   \param{wxString }{title}, \param{wxDbGridColInfo *}{next}}
 
 Default constructor. See the database grid example in \helpref{wxDbGridTableBase}{wxdbgridtablebase} to
   \param{wxString }{title}, \param{wxDbGridColInfo *}{next}}
 
 Default constructor. See the database grid example in \helpref{wxDbGridTableBase}{wxdbgridtablebase} to
@@ -3957,7 +3997,7 @@ see two different ways for adding columns.
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{colNo}{Column number in the \helpref{wxDbTable}{wxdbtable} instance to be used (first column is 0).}
+\docparam{colNumber}{Column number in the \helpref{wxDbTable}{wxdbtable} instance to be used (first column is 0).}
 \docparam{type}{Column type ,wxString specifying the grid name for the datatype in this column, or
  use wxGRID\_VALUE\_DBAUTO to determine the type automatically from the \helpref{wxDbColDef}{wxdbcoldef} definition}
 \docparam{title}{The column label to be used in the grid display}
 \docparam{type}{Column type ,wxString specifying the grid name for the datatype in this column, or
  use wxGRID\_VALUE\_DBAUTO to determine the type automatically from the \helpref{wxDbColDef}{wxdbcoldef} definition}
 \docparam{title}{The column label to be used in the grid display}
@@ -3966,7 +4006,7 @@ construction, NULL  terminates the list. Use Null also if using two step constru
 See the database grid example in \helpref{wxDbGridTableBase}{wxdbgridtablebase} to
 see two different ways for adding columns.
 
 See the database grid example in \helpref{wxDbGridTableBase}{wxdbgridtablebase} to
 see two different ways for adding columns.
 
-\membersection{wxDbGridColInfo::\destruct{wxDbGridColInfo}}
+\membersection{wxDbGridColInfo::\destruct{wxDbGridColInfo}}\label{wxdbgridcolinfodtor}
 
 \func{}{\destruct{wxDbGridColInfo}}{}
 
 
 \func{}{\destruct{wxDbGridColInfo}}{}
 
@@ -3974,7 +4014,7 @@ Destructor.
 
 \membersection{wxDbGridColInfo::AddColInfo}\label{wxdbgridcolinfoaddcolinfo}
 
 
 \membersection{wxDbGridColInfo::AddColInfo}\label{wxdbgridcolinfoaddcolinfo}
 
-\func{void}{AddColInfo}{\param{int }{colNo},
+\func{void}{AddColInfo}{\param{int }{colNumber},
 \param{wxString }{type}, \param{wxString }{title}}
 
 Use this member function for adding columns. See the database
 \param{wxString }{type}, \param{wxString }{title}}
 
 Use this member function for adding columns. See the database
@@ -3986,7 +4026,7 @@ constructor. Changes made to this datatype after the \helpref{wxDbGridTableBase}
 not have any effect.
 
 \wxheading{Parameters}
 not have any effect.
 
 \wxheading{Parameters}
-\docparam{colNo}{Column number in the \helpref{wxDbTable}{wxdbtable} instance to be used (first column is 0).}
+\docparam{colNumber}{Column number in the \helpref{wxDbTable}{wxdbtable} instance to be used (first column is 0).}
 \docparam{type}{Column type ,wxString specifying the grid name for the datatype in this column, or
  use wxGRID\_VALUE\_DBAUTO to determine the type automatically from the \helpref{wxDbColDef}{wxdbcoldef} definition}
 \docparam{title}{The column label to be used in the grid display}
 \docparam{type}{Column type ,wxString specifying the grid name for the datatype in this column, or
  use wxGRID\_VALUE\_DBAUTO to determine the type automatically from the \helpref{wxDbColDef}{wxdbcoldef} definition}
 \docparam{title}{The column label to be used in the grid display}