\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.
+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.}
+\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
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)
- wxString s_Amount[7]; // Formated Objects - amount of
+ wxString s_Amount[7]; // Formatted Objects - amount of
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
\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
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.
\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}
-\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
\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.
\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");
// 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 \