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:
Julian Smart
2003-03-23 20:34:36 +00:00
parent 2f8b6a1dcc
commit f7292ebeba
23 changed files with 6 additions and 2460 deletions

View File

@@ -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}

View File

@@ -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

View File

@@ -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.