Removed obsolete ODBC classes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -565,10 +565,8 @@ from specifications stored in an XML format.
|
||||
|
||||
\overview{Database classes overview}{odbcoverview}
|
||||
|
||||
wxWindows provides two alternative sets of classes for accessing Microsoft's ODBC (Open Database Connectivity)
|
||||
product. The new version by Remstar, known as wxODBC, is more powerful,
|
||||
portable, flexible and better supported, so please use the classes below for
|
||||
working with databases:
|
||||
wxWindows provides a set of classes for accessing Microsoft's ODBC (Open Database Connectivity)
|
||||
product, donated by Remstar. This is known as wxODBC.
|
||||
|
||||
\twocolwidtha{6cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
@@ -584,17 +582,6 @@ working with databases:
|
||||
\twocolitem{\helpref{wxDbIdxDef}{wxdbidxdef}}{}
|
||||
\end{twocollist}
|
||||
|
||||
The documentation for the older classes is still included, but you should avoid
|
||||
using any of them in new programs:
|
||||
|
||||
\twocolwidtha{6cm}
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{\helpref{wxDatabase}{wxdatabase}}{Database class}
|
||||
\twocolitem{\helpref{wxQueryCol}{wxquerycol}}{Class representing a column}
|
||||
\twocolitem{\helpref{wxQueryField}{wxqueryfield}}{Class representing a field}
|
||||
\twocolitem{\helpref{wxRecordSet}{wxrecordset}}{Class representing one or more record}
|
||||
\end{twocollist}
|
||||
|
||||
{\large {\bf Miscellaneous}}
|
||||
|
||||
\twocolwidtha{6cm}
|
||||
|
@@ -53,7 +53,6 @@
|
||||
\input csconv.tex
|
||||
\input cursor.tex
|
||||
\input custdobj.tex
|
||||
\input database.tex
|
||||
\input dataform.tex
|
||||
\input datistrm.tex
|
||||
\input dataobj.tex
|
||||
@@ -228,12 +227,10 @@
|
||||
\input progdlg.tex
|
||||
\input protocol.tex
|
||||
\input quantize.tex
|
||||
\input query.tex
|
||||
\input qylayevt.tex
|
||||
\input radiobox.tex
|
||||
\input radiobut.tex
|
||||
\input realpoin.tex
|
||||
\input recrdset.tex
|
||||
\input rect.tex
|
||||
\input regex.tex
|
||||
\input region.tex
|
||||
|
@@ -1,29 +1,9 @@
|
||||
\section{Database classes overview}\label{odbcoverview}
|
||||
|
||||
\normalboxd{The more sophisticated wxODBC classes (wxDb/wxDbTable) are the
|
||||
recommended classes for doing database/ODBC work with wxWindows. These new
|
||||
classes replace the wxWindows v1.6x classes wxDatabase. Documentation for the
|
||||
old wxDatabase class and its associated classes is still
|
||||
included in the class documentation and in this overview section, but support
|
||||
for these old classes has been phased out, and all future development work
|
||||
is being done solely on the new wxDb/wxDbTable classes.}
|
||||
|
||||
\subsection{Different ODBC Class Libraries in wxWindows}
|
||||
|
||||
Following is a detailed overview of how to use the wxWindows ODBC classes - \helpref{wxDb}{wxdb}
|
||||
and \helpref{wxDbTable}{wxdbtable} and their associated functions. These are
|
||||
the ODBC classes donated by Remstar International, and are collectively
|
||||
referred to herein as the wxODBC classes. Since their initial inclusion with
|
||||
wxWindows v2.x, they have become the recommended wxWindows classes for database
|
||||
access.
|
||||
|
||||
An older version of some classes ported over from wxWindows v1.68 still exist
|
||||
(see \helpref{wxDatabase}{wxdatabase} in odbc.cpp), but are now deprecated in favor of the more
|
||||
robust and comprehensive wxDb/wxDbTable classes. All current and future
|
||||
feature development, as well as active debugging, are only being done on
|
||||
the wxODBC classes. Documentation for the older classes is still provided
|
||||
in this manual. The \helpref{wxDatabase overview}{wxdatabaseoverview} of the
|
||||
older classes follows the overview of the new classes.
|
||||
referred to herein as the wxODBC classes.
|
||||
|
||||
\subsection{wxDb/wxDbTable wxODBC Overview}\label{wxodbcoverview}
|
||||
|
||||
@@ -1058,194 +1038,7 @@ delete DbConnectInf;
|
||||
|
||||
\end{verbatim}
|
||||
|
||||
\subsection{wxDatabase ODBC class overview [DEPRECATED]}\label{oldwxodbcoverview}
|
||||
|
||||
Classes: \helpref{wxDatabase}{wxdatabase}, \helpref{wxRecordSet}{wxrecordset}, \helpref{wxQueryCol}{wxquerycol},
|
||||
\rtfsp\helpref{wxQueryField}{wxqueryfield}
|
||||
|
||||
\normalboxd{The more sophisticated wxODBC classes (wxDb/wxDbTable) are the
|
||||
recommended classes for doing database/ODBC work with wxWindows. These new
|
||||
classes replace the wxWindows v1.6x classes wxDatabase.
|
||||
|
||||
Documentation for the old wxDatabase class and its associated classes is still
|
||||
included in the class documentation and in this overview section, but support
|
||||
for these old classes has been phased out, and all future development work
|
||||
is being done solely on the new wxDb/wxDbTable classes.}
|
||||
|
||||
wxWindows provides a set of classes for accessing a subset of Microsoft's ODBC (Open Database Connectivity)
|
||||
product. Currently, this wrapper is available under MS Windows only, although
|
||||
ODBC may appear on other platforms, and a generic or product-specific SQL emulator for the ODBC
|
||||
classes may be provided in wxWindows at a later date.
|
||||
|
||||
ODBC presents a unified API (Application Programmer's Interface) to a
|
||||
wide variety of databases, by interfacing indirectly to each database or
|
||||
file via an ODBC driver. The language for most of the database
|
||||
operations is SQL, so you need to learn a small amount of SQL as well as
|
||||
the wxWindows ODBC wrapper API. Even though the databases may not be
|
||||
SQL-based, the ODBC drivers translate SQL into appropriate operations
|
||||
for the database or file: even text files have rudimentary ODBC support,
|
||||
along with dBASE, Access, Excel and other file formats.
|
||||
|
||||
The run-time files for ODBC are bundled with many existing database
|
||||
packages, including MS Office. The required header files, sql.h and
|
||||
sqlext.h, are bundled with several compilers including MS VC++ and
|
||||
Watcom C++. The only other way to obtain these header files is from the
|
||||
ODBC SDK, which is only available with the MS Developer Network CD-ROMs
|
||||
-- at great expense. If you have odbc.dll, you can make the required
|
||||
import library odbc.lib using the tool `implib'. You need to have odbc.lib
|
||||
in your compiler library path.
|
||||
|
||||
The minimum you need to distribute with your application is odbc.dll, which must
|
||||
go in the Windows system directory. For the application to function correctly,
|
||||
ODBC drivers must be installed on the user's machine. If you do not use the database
|
||||
classes, odbc.dll will be loaded but not called (so ODBC does not need to be
|
||||
setup fully if no ODBC calls will be made).
|
||||
|
||||
A sample is distributed with wxWindows in {\tt samples/odbc}. You will need to install
|
||||
the sample dbf file as a data source using the ODBC setup utility, available from
|
||||
the control panel if ODBC has been fully installed.
|
||||
|
||||
\subsection{Procedures for writing an ODBC application using wxDatabase [DEPRECATED]}
|
||||
|
||||
You first need to create a wxDatabase object. If you want to get information
|
||||
from the ODBC manager instead of from a particular database (for example
|
||||
using \helpref{wxRecordSet::GetDataSources}{wxrecordsetgetdatasources}), then you
|
||||
do not need to call \helpref{wxDatabase::Open}{wxdatabaseopen}.
|
||||
If you do wish to connect to a datasource, then call wxDatabase::Open.
|
||||
You can reuse your wxDatabase object, calling wxDatabase::Close and wxDatabase::Open
|
||||
multiple times.
|
||||
|
||||
Then, create a wxRecordSet object for retrieving or sending information.
|
||||
For ODBC manager information retrieval, you can create it as a dynaset (retrieve the
|
||||
information as needed) or a snapshot (get all the data at once).
|
||||
If you are going to call \helpref{wxRecordSet::ExecuteSQL}{wxrecordsetexecutesql}, you need to create it as a snapshot.
|
||||
Dynaset mode is not yet implemented for user data.
|
||||
|
||||
Having called a function such as wxRecordSet::ExecuteSQL or
|
||||
wxRecordSet::GetDataSources, you may have a number of records
|
||||
associated with the recordset, if appropriate to the operation. You can
|
||||
now retrieve information such as the number of records retrieved and the
|
||||
actual data itself. Use \helpref{wxRecordSet::GetFieldData}{wxrecordsetgetfielddata} or
|
||||
\helpref{wxRecordSet::GetFieldDataPtr}{wxrecordsetgetfielddataptr} to get the data or a pointer to it, passing
|
||||
a column index or name. The data returned will be for the current
|
||||
record. To move around the records, use \helpref{wxRecordSet::MoveNext}{wxrecordsetmovenext},
|
||||
\rtfsp\helpref{wxRecordSet::MovePrev}{wxrecordsetmoveprev} and associated functions.
|
||||
|
||||
You can use the same recordset for multiple operations, or delete
|
||||
the recordset and create a new one.
|
||||
|
||||
Note that when you delete a wxDatabase, any associated recordsets
|
||||
also get deleted, so beware of holding onto invalid pointers.
|
||||
|
||||
\subsection{wxDatabase class overview [DEPRECATED]}\label{wxdatabaseoverview}
|
||||
|
||||
Class: \helpref{wxDatabase}{wxdatabase}
|
||||
|
||||
\wxheading{DEPRECATED}
|
||||
|
||||
Use \helpref{wxDb}{wxdb} and \helpref{wxDbTable}{wxdbtable} instead.
|
||||
|
||||
Every database object represents an ODBC connection. To do anything useful
|
||||
with a database object you need to bind a wxRecordSet object to it. All you
|
||||
can do with wxDatabase is opening/closing connections and getting some info
|
||||
about it (users, passwords, and so on).
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Database classes overview}{odbcoverview}
|
||||
|
||||
\subsection{wxQueryCol class overview [DEPRECATED]}\label{wxquerycoloverview}
|
||||
|
||||
Class: \helpref{wxQueryCol}{wxquerycol}
|
||||
|
||||
\wxheading{DEPRECATED}
|
||||
|
||||
Use \helpref{wxDb}{wxdb} and \helpref{wxDbTable}{wxdbtable} instead.
|
||||
|
||||
Every data column is represented by an instance of this class.
|
||||
It contains the name and type of a column and a list of wxQueryFields where
|
||||
the real data is stored. The links to user-defined variables are stored
|
||||
here, as well.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Database classes overview}{odbcoverview}
|
||||
|
||||
\subsection{wxQueryField class overview [DEPRECATED]}\label{wxqueryfieldoverview}
|
||||
|
||||
Class: \helpref{wxQueryField}{wxqueryfield}
|
||||
|
||||
\wxheading{DEPRECATED}
|
||||
|
||||
Use \helpref{wxDb}{wxdb} and \helpref{wxDbTable}{wxdbtable} instead.
|
||||
|
||||
As every data column is represented by an instance of the class wxQueryCol,
|
||||
every data item of a specific column is represented by an instance of
|
||||
wxQueryField. Each column contains a list of wxQueryFields. If wxRecordSet is
|
||||
of the type wxOPEN\_TYPE\_DYNASET, there will be only one field for each column,
|
||||
which will be updated every time you call functions like wxRecordSet::Move
|
||||
or wxRecordSet::GoTo. If wxRecordSet is of the type wxOPEN\_TYPE\_SNAPSHOT,
|
||||
all data returned by an ODBC function will be loaded at once and the number
|
||||
of wxQueryField instances for each column will depend on the number of records.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Database classes overview}{odbcoverview}
|
||||
|
||||
\subsection{wxRecordSet overview [DEPRECATED]}\label{wxrecordsetoverview}
|
||||
|
||||
Class: \helpref{wxRecordSet}{wxrecordset}
|
||||
|
||||
\wxheading{DEPRECATED}
|
||||
|
||||
Use \helpref{wxDb}{wxdb} and \helpref{wxDbTable}{wxdbtable} instead.
|
||||
|
||||
Each wxRecordSet represents a database query. You can make multiple queries
|
||||
at a time by using multiple wxRecordSets with a wxDatabase or you can make
|
||||
your queries in sequential order using the same wxRecordSet.
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Database classes overview}{odbcoverview}
|
||||
|
||||
\subsection{ODBC SQL data types [DEPRECATED]}\label{sqltypes}
|
||||
|
||||
These are the data types supported in ODBC SQL. Note that there are other, extended level conformance
|
||||
types, not currently supported in wxWindows.
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{CHAR(n)}{A character string of fixed length {\it n}.}
|
||||
\twocolitem{VARCHAR(n)}{A varying length character string of maximum length {\it n}.}
|
||||
\twocolitem{LONG VARCHAR(n)}{A varying length character string: equivalent to VARCHAR for the purposes
|
||||
of ODBC.}
|
||||
\twocolitem{DECIMAL(p, s)}{An exact numeric of precision {\it p} and scale {\it s}.}
|
||||
\twocolitem{NUMERIC(p, s)}{Same as DECIMAL.}
|
||||
\twocolitem{SMALLINT}{A 2 byte integer.}
|
||||
\twocolitem{INTEGER}{A 4 byte integer.}
|
||||
\twocolitem{REAL}{A 4 byte floating point number.}
|
||||
\twocolitem{FLOAT}{An 8 byte floating point number.}
|
||||
\twocolitem{DOUBLE PRECISION}{Same as FLOAT.}
|
||||
\end{twocollist}
|
||||
|
||||
These data types correspond to the following ODBC identifiers:
|
||||
|
||||
\begin{twocollist}\itemsep=0pt
|
||||
\twocolitem{SQL\_CHAR}{A character string of fixed length.}
|
||||
\twocolitem{SQL\_VARCHAR}{A varying length character string.}
|
||||
\twocolitem{SQL\_DECIMAL}{An exact numeric.}
|
||||
\twocolitem{SQL\_NUMERIC}{Same as SQL\_DECIMAL.}
|
||||
\twocolitem{SQL\_SMALLINT}{A 2 byte integer.}
|
||||
\twocolitem{SQL\_INTEGER}{A 4 byte integer.}
|
||||
\twocolitem{SQL\_REAL}{A 4 byte floating point number.}
|
||||
\twocolitem{SQL\_FLOAT}{An 8 byte floating point number.}
|
||||
\twocolitem{SQL\_DOUBLE}{Same as SQL\_FLOAT.}
|
||||
\end{twocollist}
|
||||
|
||||
\wxheading{See also}
|
||||
|
||||
\helpref{Database classes overview}{odbcoverview}
|
||||
|
||||
\subsection{A selection of SQL commands [DEPRECATED]}\label{sqlcommands}
|
||||
\subsection{A selection of SQL commands}\label{sqlcommands}
|
||||
|
||||
The following is a very brief description of some common SQL commands, with
|
||||
examples.
|
||||
|
Reference in New Issue
Block a user