Visual C++ provides several ways to work with databases. The
preferred way is to use one of the class libraries such as the
Active Template Class Library (ATL) or Microsoft Foundation Class (MFC)
Library, which simplify working with the database APIs.
Note: |
This topic covers the legacy technologies you can
use for database programming in Visual C++. For
information on data access programming using Visual C++
2005 and SQL Server 2005, see
Data Access Using ADO.NET in C++,
Accessing Data (Visual Studio), and
Creating SQL Server 2005 Objects in Managed Code. |
The library classes support the following kinds of data access:
- ATL provides OLE DB templates and database attributes.
- MFC provides Open Database Connectivity (ODBC) and an ODBC
driver.
These libraries supply abstractions that simplify working with
databases, complete with the speed, power, and flexibility of C++.
They integrate your data access work with the library's application
framework.
Alternately, you can directly call database API functions from
the COM, ODBC, or DAO software development kits (SDKs). For
information about programming directly with the COM, DAO, or ODBC
API functions, see the COM SDK, DAO SDK, or ODBC SDK.
Use ATL OLE DB if you need to access data, regardless of the form
in which it is stored. Use the MFC ODBC classes when you are not
using Microsoft Jet (.mdb) databases and want to work with the ODBC
API for complete data-source independence. Use the MFC DAO classes
when you want to work with Microsoft Jet (.mdb) databases or with
external databases such as ODBC data sources.
Note: |
Microsoft recommends using OLE DB or ODBC for new
projects. DAO should only be used in maintaining
existing applications. |
Besides writing stand-alone database applications, you can often
use a database effectively in other kinds of programs as a
convenient storage and retrieval medium.
To learn more about |
See |
Selecting a database technology |
|
ODBC vs. DAO |
Should I Use DAO or ODBC? |
Using the Microsoft Knowledge Base to find
additional articles on database topics written by
product support engineers |
Microsoft Knowledge Base |
ATL Database Support (OLE DB) |
|
OLE DB programming (conceptual topics) |
OLE DB Programming Overview |
Using the OLE DB consumer templates (conceptual
topics) |
OLE DB Consumer Templates |
OLE DB consumer attributes |
OLE DB Consumer Attributes |
Using the OLE DB provider templates (conceptual
topics) |
OLE DB Provider Templates |
Adding an OLE DB consumer to an MFC project |
Creating an OLE DB Consumer |
MFC Database Support (ODBC and DAO) |
|
What DAO and ODBC are |
What Are DAO and ODBC? |
When to use the MFC database classes |
When Should I Use the Database Classes? |
Learn about the MFC database programming model |
What Is the MFC Database Programming Model?. |
Choose between the MFC DAO classes and the MFC ODBC
classes |
Should I Use DAO or ODBC?. |
Data sources you can access with DAO and ODBC |
What Data Sources Can I Access with DAO and ODBC?
|
Open Database Connectivity (ODBC) |
ODBC and MFC |
Whether you can call DAO or ODBC APIs directly while
using the classes |
Can I Call DAO or ODBC Directly? |
What ODBC drivers are provided |
ODBC Driver List |
How the database classes work with the MFC
document/view architecture |
MFC: Using Database Classes with Documents and Views
|
Installing MFC database support; what ODBC drivers
are installed in Visual C++ by default; what ODBC and
DAO SDK components are installed |
Installing MFC Database Support |
Data-Bound Controls (ADO and RDO) |
|
Writing a program that uses data-bound controls |
Data-Bound Controls (ADO and RDO) |
Data binding using ActiveX controls |
MFC ActiveX Controls: Using Data Binding in an ActiveX
Control |
Distributing ActiveX controls |
MFC ActiveX Controls: Distributing ActiveX Controls
|