From 998abc150616484b2bce17454cda2e1ff1f29b7b Mon Sep 17 00:00:00 2001 From: George Tasker Date: Tue, 28 Dec 2004 20:59:14 +0000 Subject: [PATCH] Documentation updated to reflect Unicode support Updated to show current function names git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31176 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/db.tex | 88 ++++++++++++++++++++++--------------------- docs/latex/wx/tdb.tex | 32 ++++++++-------- 2 files changed, 62 insertions(+), 58 deletions(-) diff --git a/docs/latex/wx/db.tex b/docs/latex/wx/db.tex index 6b6de80bbe..7b9da764bb 100644 --- a/docs/latex/wx/db.tex +++ b/docs/latex/wx/db.tex @@ -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. -\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. @@ -571,7 +572,7 @@ of a datasource which does support views. \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. @@ -841,7 +842,7 @@ to avoid undesired unbinding of columns.} \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 @@ -849,7 +850,7 @@ variables (i.e. not using a wxDbTable instance to access table data). \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}} @@ -941,7 +942,7 @@ Returns the ODBC statement handle associated with this database connection. \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. @@ -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{nocols}{Number of columns defined in the instance of colInf.} +\docparam{numColumns}{Number of columns defined in the instance of colInf.} \wxheading{Return value} @@ -2287,26 +2288,26 @@ to an Oracle datasource or not. // Incomplete code sample wxDbTable parts; ..... - if (parts.CanUpdByROWID()) + if (parts.CanUpdateByROWID()) { // 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 - sqlStmt = "SELECT PART_NO, PART_DESC FROM PARTS"; + sqlStmt = "SELECT PART_NUM, PART_DESC FROM PARTS"; \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. -\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, @@ -3063,14 +3064,14 @@ this function to commit or rollback the insertion. \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} -\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.} @@ -3313,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 -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. @@ -3353,7 +3354,7 @@ either \helpref{wxDbTable::GetFirst}{wxdbtablegetfirst} or ---------------------- // 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 @@ -3363,10 +3364,10 @@ either \helpref{wxDbTable::GetFirst}{wxdbtablegetfirst} or 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 - order by part_no desc // descending order + order by PART_NUM desc // descending order // Subquery SELECT * from parts @@ -3541,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} - 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 @@ -3591,10 +3593,10 @@ were to be copied over to another datasource or table. \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].SqlCtype = SQL_C_CHAR; + colDefs[0].SqlCtype = SQL_C_WXCHAR; colDefs[0].SzDataObj = PART_NUMBER_LEN; colDefs[0].KeyField = true; colDefs[0].Updateable = false; @@ -3602,8 +3604,8 @@ were to be copied over to another datasource or table. 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} @@ -3686,7 +3688,7 @@ the datasource knows on which column values the tables should be joined on. \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}} @@ -3700,7 +3702,7 @@ the actual column name to be specified. \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 @@ -3978,7 +3980,7 @@ an introduction to using the wxDbGrid classes. \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 @@ -3987,7 +3989,7 @@ see two different ways for adding columns. \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} @@ -4004,7 +4006,7 @@ Destructor. \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 @@ -4016,7 +4018,7 @@ constructor. Changes made to this datatype after the \helpref{wxDbGridTableBase} 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} diff --git a/docs/latex/wx/tdb.tex b/docs/latex/wx/tdb.tex index e674560b8a..a1e9cef2a9 100644 --- a/docs/latex/wx/tdb.tex +++ b/docs/latex/wx/tdb.tex @@ -25,18 +25,20 @@ software with these classes, but at the time of the writing of this document, users have successfully used the classes with the following datasources: \begin{itemize}\itemsep=0pt -\item Oracle (v7, v8, v8i) -\item Sybase (ASA and ASE) -\item MS SQL Server (v7 - minimal testing) -\item MS Access (97 and 2000) -\item MySQL +\item DB2 \item DBase (IV, V)** -\item PostgreSQL +\item Firebird \item INFORMIX -\item VIRTUOSO -\item DB2 \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} An up-to-date list can be obtained by looking in the comments of the function @@ -557,9 +559,9 @@ can specify anywhere from one column up to all columns in the table. \begin{verbatim} table->SetColDefs(0, "FIRST_NAME", DB_DATA_TYPE_VARCHAR, FirstName, - SQL_C_CHAR, sizeof(FirstName), true, true); + SQL_C_WXCHAR, sizeof(FirstName), true, true); table->SetColDefs(1, "LAST_NAME", DB_DATA_TYPE_VARCHAR, LastName, - SQL_C_CHAR, sizeof(LastName), true, true); + SQL_C_WXCHAR, sizeof(LastName), true, true); \end{verbatim} Notice that column definitions start at index 0 and go up to one less than @@ -912,9 +914,9 @@ functionality as the driver can emulate. {\bf UNICODE with wxODBC classes} -The ODBC classes support for Unicode is yet in early experimental stage and -hasn't been tested extensively. It might work for you or it might not: please -report the bugs/problems you have encountered in the latter case. +As of v2.6 of wxWidgets, the wxODBC classes now fully support the compilation +and use of the classes in a Unicode build of wxWidgets, assuming the compiler +and OS on which the program will be compiled/run is Unicode capable. \subsection{wxODBC - Sample Code}\label{wxodbcsamplecode1} @@ -1017,9 +1019,9 @@ table = new wxDbTable(db, tableName, numTableColumns, wxT(""), // returned back to the client. // table->SetColDefs(0, wxT("FIRST_NAME"), DB_DATA_TYPE_VARCHAR, FirstName, - SQL_C_CHAR, sizeof(FirstName), true, true); + SQL_C_WXCHAR, sizeof(FirstName), true, true); table->SetColDefs(1, wxT("LAST_NAME"), DB_DATA_TYPE_VARCHAR, LastName, - SQL_C_CHAR, sizeof(LastName), true, true); + SQL_C_WXCHAR, sizeof(LastName), true, true); // ----------------------------------------------------------------------- -- 2.45.2