How to use RecordSets without using the AppWizard at the creation of your project

All the books that I4ve read have the official chapter " Database programming", a little chapter in which there is the typical example of: Create a new project, with App wizard select the option use database and select what database will you use...

Ok, I begin my application, and one month later I realize "mmm...., I need one database for this project", or... " I need to add another Recordset to the database", or... " I need to add another database", must I begin again with my application? The answer is NO, and the solution is easy ( a dummy like me uses it, so it must be easy ;-) ).

Steps to do this:

  • Create a normal project without database support ( or if you have one created use that...).
  • In stdafx.h add this include: #include "afxdb.h"
  • In the class in wich you want to use the database ( for example in the View), add this member variable: CDatabase m_MyDatabase
  • When you init that class ( for example if we use the View in on Initial Update), init your database, calling: m_MyDatabase.Open(NULL,FALSE,FALSE,os) (In wich "os" is only a CString with the parameters to open your database, for example: CString os="ODBC;DSN=MyDb;UID=MyUser;PWD=MyPassword;") In this string we put: ODBC ( using ODBC database)
    • DSN=... -> The name of the datasource ( this is the name that you put when you add to the database the ODBC administrator your database),
    • UID=... -> Is the name of the user of the database,
    • PWD=... -> Is the password of that user.
  • Now we need an special recordset to get the data from our database. This is easy. Create a class ( with AppWizard ( Ctrl+W Key...), Add New Class), that inherits from CRecordSet then select your database and the table that you want to get from that database, and the fields that you need, ( you can create a lot of classes inherited from CRecordSet, as many "views" of your database as you need ( for example one recordset for each table or...).
  • Include the ".h" file of the recordset in the file in wich you are going to use it, and input variables of that recordset class in the classes that you need... CMyRecordSet *MyRecordSet;
  • Then to open the recordSet...:

    MyRecordSet=new CMyRecordSet(m_Database);
    MyRecordSet.Open() // You can open it in many ways, see the help
    .
    .
    .
    MyRecordSet.Close()

  • Don4t forget when you exit from the program to close the database...

And...,If you want to see more things, take a look at the help, this is only the starting point ( made by a dummy... :-) ).



Comments

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • The 3rd Platform of computing, based around the four pillars of mobile computing, social media, big data and analytics, and cloud, is redefining what IT infrastructure needs to provide. Endpoint solutions must meet not only traditional data protection requirements, but also a new set of requirements driven by the explosion in mobile computing. This IDC white paper explores the customer challenges associated with safeguarding data residing on various endpoint devices, including laptops, tablets, and …

  • Today's agile organizations pose operations teams with a tremendous challenge: to deploy new releases to production immediately after development and testing is completed. To ensure that applications are deployed successfully, an automatic and transparent process is required. We refer to this process as Zero Touch Deployment™. This white paper reviews two approaches to Zero Touch Deployment--a script-based solution and a release automation platform. The article discusses how each can solve the key …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date