]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/db.tex
corrected EVT_NOTIFY[_RANGE] docs (bug 1439078)
[wxWidgets.git] / docs / latex / wx / db.tex
index ca6ed4090a190c1bbbee002679d1d45cca0e9745..88cd6ca6e3431e44cc59aa90d16179b54b6e2ff3 100644 (file)
@@ -373,10 +373,10 @@ datasources.  Repeatedly call this function to obtain all the datasources
 available through the ODBC driver manager on the current workstation.
 
 \begin{verbatim}
 available through the ODBC driver manager on the current workstation.
 
 \begin{verbatim}
-    wxStringList strList;
+    wxArrayString strArray;
 
     while (wxDbGetDataSource(DbConnectInf.GetHenv(), Dsn, SQL_MAX_DSN_LENGTH+1, DsDesc, 255))
 
     while (wxDbGetDataSource(DbConnectInf.GetHenv(), Dsn, SQL_MAX_DSN_LENGTH+1, DsDesc, 255))
-        strList.Add(Dsn);
+        strArray.Add(Dsn);
 \end{verbatim}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 \end{verbatim}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
@@ -711,12 +711,20 @@ If the view does not exist, this function will return true.  Note that views are
 
 \func{bool}{ExecSql}{\param{const wxString \&}{pSqlStmt}}
 
 
 \func{bool}{ExecSql}{\param{const wxString \&}{pSqlStmt}}
 
+\func{bool}{ExecSql}{\param{const wxString \&}{pSqlStmt}, \param{wxDbColInf **}{columns}, \param{short \&}{numcols}}
+
 Allows a native SQL command to be executed directly against the datasource.  In addition to being able to run any standard SQL command, use of this function allows a user to (potentially) utilize features specific to the datasource they are connected to that may not be available through ODBC.  The ODBC driver will pass the specified command directly to the datasource.
 
 Allows a native SQL command to be executed directly against the datasource.  In addition to being able to run any standard SQL command, use of this function allows a user to (potentially) utilize features specific to the datasource they are connected to that may not be available through ODBC.  The ODBC driver will pass the specified command directly to the datasource.
 
+To get column amount and column names or other information about returned columns, pass {\it 'columns'} and {\it 'numcols'} parameters to the function also.
+
 \wxheading{Parameters}
 
 \docparam{pSqlStmt}{Pointer to the SQL statement to be executed.}
 
 \wxheading{Parameters}
 
 \docparam{pSqlStmt}{Pointer to the SQL statement to be executed.}
 
+\docparam{columns}{On success, this function will set this pointer to point to array of \helpref{wxDbColInf}{wxdbcolinf} objects, holding information about columns returned by the query. You need to call delete[] for the pointer you pass here after you don't use it anymore to prevent memory leak.}
+
+\docparam{numcols}{Reference to variable where amount of objects in {\it 'columns'}-parameter will be set.}
+
 \wxheading{Remarks}
 
 This member extends the wxDb class and allows you to build and execute ANY VALID
 \wxheading{Remarks}
 
 This member extends the wxDb class and allows you to build and execute ANY VALID
@@ -1605,6 +1613,12 @@ public.
 \helpref{database classes overview}{odbcoverview},
 \helpref{wxDbTable::GetColDefs}{wxdbtablegetcoldefs}, \helpref{wxDb constructor}{wxdbctor}
 
 \helpref{database classes overview}{odbcoverview},
 \helpref{wxDbTable::GetColDefs}{wxdbtablegetcoldefs}, \helpref{wxDb constructor}{wxdbctor}
 
+\wxheading{Include files}
+
+<wx/db.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
 \membersection{wxDbColDef::Initialize}\label{wxdbcoldefinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
 \membersection{wxDbColDef::Initialize}\label{wxdbcoldefinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
@@ -1616,12 +1630,12 @@ Beginning support for handling international formatting specifically on dates
 and floats.
 
 \begin{verbatim}
 and floats.
 
 \begin{verbatim}
-    wxString       s_Field;       // Formated String for Output
-    wxString       s_Format[7];   // Formated Objects - TIMESTAMP has
+    wxString       s_Field;       // Formatted String for Output
+    wxString       s_Format[7];   // Formatted Objects - TIMESTAMP has
                                      the biggest (7)
                                      the biggest (7)
-    wxString       s_Amount[7];   // Formated Objects - amount of
+    wxString       s_Amount[7];   // Formatted Objects - amount of
                                      things that can be formatted
                                      things that can be formatted
-    int            i_Amount[7];   // Formated Objects -
+    int            i_Amount[7];   // Formatted Objects -
                                         TT MM YYYY HH MM SS m
     int            i_Nation;      // 0 = timestamp
                                      1 = EU
                                         TT MM YYYY HH MM SS m
     int            i_Nation;      // 0 = timestamp
                                      1 = EU
@@ -1643,6 +1657,12 @@ Only one function is provided with this class currently.
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
+\wxheading{Include files}
+
+<wx/db.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
 \membersection{wxDbColFor::Format}\label{wxdbcolforformat}
 
 \func{int }{Format}{\param{int }{Nation}, \param{int }{dbDataType},
 \membersection{wxDbColFor::Format}\label{wxdbcolforformat}
 
 \func{int }{Format}{\param{int }{Nation}, \param{int }{dbDataType},
@@ -1699,6 +1719,12 @@ it is non-NULL.
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
+\wxheading{Include files}
+
+<wx/db.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
 \membersection{wxDbColInf::Initialize}\label{wxdbcolinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
 \membersection{wxDbColInf::Initialize}\label{wxdbcolinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
@@ -1961,7 +1987,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{wxDbIndexDef}}\label{wxdbIndexdef}
+\section{\class{wxDbIdxDef}}\label{wxdbidxdef}
 
 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.
@@ -1978,6 +2004,11 @@ There are no constructors/destructors as of this time, and no member functions.
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
+
+\wxheading{Include files}
+
+<wx/db.h>
+
 \section{\class{wxDbInf}}\label{wxdbinf}
 
 Contains information regarding the database connection (datasource name,
 \section{\class{wxDbInf}}\label{wxdbinf}
 
 Contains information regarding the database connection (datasource name,
@@ -2005,6 +2036,12 @@ it is non-NULL.
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
+\wxheading{Include files}
+
+<wx/db.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
 \membersection{wxDbInf::Initialize}\label{wxdbinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
 \membersection{wxDbInf::Initialize}\label{wxdbinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
@@ -2032,7 +2069,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{wxDbIndexDef}{wxdbIndexdef}
+\item \helpref{wxDbIdxDef}{wxdbidxdef}
 \end{itemize}
 
 \wxheading{Constants}
 \end{itemize}
 
 \wxheading{Constants}
@@ -2199,9 +2236,10 @@ WHERE and FROM clauses specified using \helpref{wxDbTable::SetWhereClause}{wxdbt
 and \helpref{wxDbTable::SetFromClause}{wxdbtablesetfromclause} are ignored by
 this function.
 
 and \helpref{wxDbTable::SetFromClause}{wxdbtablesetfromclause} are ignored by
 this function.
 
-\membersection{wxDbTable::BuildWhereStmt}\label{wxdbtablebuildwherestmt}
 
 
-\func{void}{BuildSelectStmt}{\param{wxString \&}{pWhereClause},
+\membersection{wxDbTable::BuildWhereClause}\label{wxdbtablebuildwhereclause}
+\func{void}{BuildWhereClause}{\param{wxString \&}{pWhereClause},
 \param{int }{typeOfWhere}, \param{const wxString \&}{qualTableName=""},
 \param{bool }{useLikeComparison=false}}
 
 \param{int }{typeOfWhere}, \param{const wxString \&}{qualTableName=""},
 \param{bool }{useLikeComparison=false}}
 
@@ -2234,6 +2272,7 @@ If using 'typeOfWhere' set to DB\_WHERE\_MATCHING, any bound columns currently
 containing a NULL value are not included in the WHERE clause's list of
 columns to use in the comparison.
 
 containing a NULL value are not included in the WHERE clause's list of
 columns to use in the comparison.
 
+
 \membersection{wxDbTable::CanSelectForUpdate}\label{wxdbtablecanselectforupdate}
 
 \func{bool}{CanSelectForUpdate}{\void}
 \membersection{wxDbTable::CanSelectForUpdate}\label{wxdbtablecanselectforupdate}
 
 \func{bool}{CanSelectForUpdate}{\void}
@@ -2415,10 +2454,10 @@ this function.
 \membersection{wxDbTable::CreateIndex}\label{wxdbtablecreateindex}
 
 \func{bool}{CreateIndex}{\param{const wxString \&}{IndexName}, \param{bool }{unique},
 \membersection{wxDbTable::CreateIndex}\label{wxdbtablecreateindex}
 
 \func{bool}{CreateIndex}{\param{const wxString \&}{IndexName}, \param{bool }{unique},
-\param{UWORD }{numIndexColumns}, \param{wxDbIndexDef *}{pIndexDefs},
+\param{UWORD }{numIndexColumns}, \param{wxDbIdxDef *}{pIndexDefs},
 \param{bool }{attemptDrop=true}}
 
 \param{bool }{attemptDrop=true}}
 
-This member function allows you to create secondary (non primary) indexes on
+This member function allows you to create secondary (non-primary) indexes on
 your tables.  You first create your table, normally specifying a primary
 index, and then create any secondary indexes on the table.  Indexes in
 relational model are not required.  You do not need indexes to look up records
 your tables.  You first create your table, normally specifying a primary
 index, and then create any secondary indexes on the table.  Indexes in
 relational model are not required.  You do not need indexes to look up records
@@ -2434,7 +2473,7 @@ take advantage of those indexes.
 space of the datasource.}
 \docparam{unique}{Indicates if this index is unique.}
 \docparam{numIndexColumns}{Number of columns in the index.}
 space of the datasource.}
 \docparam{unique}{Indicates if this index is unique.}
 \docparam{numIndexColumns}{Number of columns in the index.}
-\docparam{pIndexDefs}{A pointer to an array wxDbIndexDef structures. }
+\docparam{pIndexDefs}{A pointer to an array \helpref{wxDbIdxDef}{wxdbidxdef} 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.}
@@ -2456,9 +2495,9 @@ In the third parameter, specify how many columns are in your index.  This
 number must match the number of columns defined in the 'pIndexDefs' parameter.
 
 The fourth parameter specifies which columns make up the index using the
 number must match the number of columns defined in the 'pIndexDefs' parameter.
 
 The fourth parameter specifies which columns make up the index using the
-wxDbIndexDef structure.  For each column in the index, you must specify two
+\helpref{wxDbIdxDef}{wxdbidxdef} 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 wxDbIndexDef structure.
+the example below to see how to build and pass in the \helpref{wxDbIdxDef}{wxdbidxdef} 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
@@ -2483,7 +2522,7 @@ after executing this function.
 
 \begin{verbatim}
     // Create a secondary index on the PARTS table
 
 \begin{verbatim}
     // Create a secondary index on the PARTS table
-    wxDbIndexDef  IndexDef[2];  // 2 columns make up the index
+    wxDbIdxDef  IndexDef[2];  // 2 columns make up the index
 
     wxStrcpy(IndexDef[0].ColName, "PART_DESC");  // Column 1
     IndexDef[0].Ascending = true;
 
     wxStrcpy(IndexDef[0].ColName, "PART_DESC");  // Column 1
     IndexDef[0].Ascending = true;
@@ -2743,7 +2782,7 @@ of this function).
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
-\docparam{From}{A comma separated list of table names that are to be outer
+\docparam{From}{A comma separated list of table names that are to be inner
 joined with the base table's columns so that the joined table's columns
 may be returned in the result set or used as a portion of a comparison with
 the base table's columns.  NOTE that the base tables name must NOT be included
 joined with the base table's columns so that the joined table's columns
 may be returned in the result set or used as a portion of a comparison with
 the base table's columns.  NOTE that the base tables name must NOT be included
@@ -3218,7 +3257,7 @@ records to be retrieved (e.g. All users with a first name of "JOHN").
 Use \helpref{wxDbTable::SetOrderByClause}{wxdbtablesetorderbyclause} to
 change the sequence in which records are returned in the result set from
 the datasource (e.g. Ordered by LAST\_NAME).  Use
 Use \helpref{wxDbTable::SetOrderByClause}{wxdbtablesetorderbyclause} to
 change the sequence in which records are returned in the result set from
 the datasource (e.g. Ordered by LAST\_NAME).  Use
-\helpref{wxDbTable::SetFromClause}{wxdbtablesetfromclause} to allow outer
+\helpref{wxDbTable::SetFromClause}{wxdbtablesetfromclause} to allow inner
 joining of the base table (the one being associated with this instance of
 wxDbTable) with other tables which share a related field.
 
 joining of the base table (the one being associated with this instance of
 wxDbTable) with other tables which share a related field.
 
@@ -3533,6 +3572,8 @@ wxDbTable constructor was called.}
     DB_DATA_TYPE_INTEGER        : non-floating point numbers
     DB_DATA_TYPE_FLOAT          : floating point numbers
     DB_DATA_TYPE_DATE           : dates
     DB_DATA_TYPE_INTEGER        : non-floating point numbers
     DB_DATA_TYPE_FLOAT          : floating point numbers
     DB_DATA_TYPE_DATE           : dates
+    DB_DATA_TYPE_BLOB           : binary large objects
+    DB_DATA_TYPE_MEMO           : large strings
 \end{verbatim}
 
 \docparam{pData}{Pointer to the data object that will hold the column's
 \end{verbatim}
 
 \docparam{pData}{Pointer to the data object that will hold the column's
@@ -3618,7 +3659,7 @@ were to be copied over to another datasource or table.
 
 \membersection{wxDbTable::SetCursor}\label{wxdbtablesetcursor}
 
 
 \membersection{wxDbTable::SetCursor}\label{wxdbtablesetcursor}
 
-\func{bool}{SetCursor}{\param{HSTMT *}{hstmtActivate = (void **) wxDB\_DEFAULT\_CURSOR}}
+\func{void}{SetCursor}{\param{HSTMT *}{hstmtActivate = (void **) wxDB\_DEFAULT\_CURSOR}}
 
 \wxheading{Parameters}
 
 
 \wxheading{Parameters}
 
@@ -3650,14 +3691,14 @@ and saving a pointer to that cursor.
 \func{void}{SetFromClause}{\param{const wxString \&}{From}}
 
 Accessor function for setting the private class member wxDbTable::from
 \func{void}{SetFromClause}{\param{const wxString \&}{From}}
 
 Accessor function for setting the private class member wxDbTable::from
-that indicates what other tables should be outer joined with the wxDbTable's
+that indicates what other tables should be inner joined with the wxDbTable's
 base table for access to the columns in those other tables.
 
 Synonym to this function is one form of \helpref{wxDbTable::From}{wxdbtablefrom}
 
 \wxheading{Parameters}
 
 base table for access to the columns in those other tables.
 
 Synonym to this function is one form of \helpref{wxDbTable::From}{wxdbtablefrom}
 
 \wxheading{Parameters}
 
-\docparam{From}{A comma separated list of table names that are to be outer
+\docparam{From}{A comma separated list of table names that are to be inner
 joined with the base table's columns so that the joined table's columns
 may be returned in the result set or used as a portion of a comparison with
 the base table's columns.  NOTE that the base tables name must NOT be included
 joined with the base table's columns so that the joined table's columns
 may be returned in the result set or used as a portion of a comparison with
 the base table's columns.  NOTE that the base tables name must NOT be included
@@ -3667,7 +3708,7 @@ in constructing query statements.}
 \wxheading{Remarks}
 
 Used by the \helpref{wxDbTable::Query}{wxdbtablequery} and
 \wxheading{Remarks}
 
 Used by the \helpref{wxDbTable::Query}{wxdbtablequery} and
-\helpref{wxDbTable::Count}{wxdbtablecount} member functions to allow outer
+\helpref{wxDbTable::Count}{wxdbtablecount} member functions to allow inner
 joining of records from multiple tables.
 
 Do {\bf not} include the keyword "FROM" when setting the FROM clause.
 joining of records from multiple tables.
 
 Do {\bf not} include the keyword "FROM" when setting the FROM clause.
@@ -3682,7 +3723,7 @@ the datasource knows on which column values the tables should be joined on.
 \begin{verbatim}
     ...
     // Base table is the "LOCATION" table, and it is being
 \begin{verbatim}
     ...
     // Base table is the "LOCATION" table, and it is being
-    // outer joined to the "PART" table via the the field "PART_NUMBER"
+    // inner joined to the "PART" table via the field "PART_NUMBER"
     // that can be related between the two tables.
     location->SetWhereClause("LOCATION.PART_NUMBER = PART.PART_NUMBER")
     location->SetFromClause("PART");
     // that can be related between the two tables.
     location->SetWhereClause("LOCATION.PART_NUMBER = PART.PART_NUMBER")
     location->SetFromClause("PART");
@@ -3816,7 +3857,7 @@ Do {\bf not} include the keywords "WHERE" when setting the WHERE clause.
     // Using parameters and multiple logical combinations
     parts->Where("((QTY > 10) OR (ON_ORDER > 0)) AND ON_HOLD = 0");
     ...
     // Using parameters and multiple logical combinations
     parts->Where("((QTY > 10) OR (ON_ORDER > 0)) AND ON_HOLD = 0");
     ...
-    // This query uses an outer join (requiring a FROM clause also)
+    // This query uses an inner join (requiring a FROM clause also)
     // that joins the PART and LOCATION table on he common field
     // PART_NUMBER.
     parts->Where("PART.ON_HOLD = 0 AND \
     // that joins the PART and LOCATION table on he common field
     // PART_NUMBER.
     parts->Where("PART.ON_HOLD = 0 AND \
@@ -3966,6 +4007,12 @@ Eventually, accessor functions will be added for this class
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
 See the \helpref{database classes overview}{odbcoverview} for
 an introduction to using the ODBC classes.
 
+\wxheading{Include files}
+
+<wx/db.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
 \membersection{wxDbTableInf::Initialize}\label{wxdbtableinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by
 \membersection{wxDbTableInf::Initialize}\label{wxdbtableinfinitialize}
 
 Simply initializes all member variables to a cleared state.  Called by