Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

How to use ODBC in an ActiveX control by using Visual C++

View products that this article applies to.

This article was previously published under Q152534

↑ Back to the top


DBCTL demonstrates a way to use ODBC in an ActiveX Control (OLE Control). A Visual C++ and a Visual Basic client application are included as part of this sample. The Visual C++ client is called DBUSR, the Visual Basic client is called DBVBUSR.

The following file is available for download from the Microsoft Download Center:
For more information about how to download Microsoft support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591� How to obtain Microsoft support files from online services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help prevent any unauthorized changes to the file.

  • Use the -d option when running DBCTL.EXE to decompress the file and recreate the proper directory structure.
  • To make the DBCTL sample compile in Microsoft Visual C++ 6.0, you will have to either remove the "_UNICODE" preprocessor directive in the project settings or include the "afxdb.h" header file in DBCtlSet.h.

↑ Back to the top

More information

DBCTL creates and opens a Class Wizard-configured CRecordset object from within the virtual override of COleControl::OnSetClientSite. The CRecordset- derived object is configured to the COURSE table of the STDREG32.MDB that comes with the sample. Please note that you have to create a user or a system DSN called "student registration" in your ODBC control panel with Access ODBC Driver and have to point this DSN to the STDREG32.MDB file.

The CRecordset-derived object is closed from within its own destructor. The CRecordset object is destructed with a call to the delete operator from within the COleControl derived class destructor.

The control exposes one method, a DisplayRecords method, that simply lists the contents of the recordset in the control.

The OLE Control subclasses a listbox. The string items are added to the listbox by using SendMessage.

The DBUSR.EXE and DBVBUSR.EXE demonstrate using the custom control.

↑ Back to the top

Keywords: kbdownload, kbdatabase, kbprogramming, kbfile, kbsample, KB152534

↑ Back to the top

Article Info
Article ID : 152534
Revision : 5
Created on : 9/30/2005
Published on : 9/30/2005
Exists online : False
Views : 483