• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 254
  • Last Modified:

VC++ ODBC connection-how to open the database connection globally??

I've used the VC++ wizard to connect to the database and generated some classes. Understand that each time I want to query a table, I have to call the Open(),OpenDataSource(), and OpenRowset() functions, which will open the database connection and fetch the rowset. When finished using the table, I will call Close() to close the table as well as the database connection. My question is, I don't want to close the database connection, I want the connection remain opened so next time when I query the table or other table (class) in the same database, I don't have to open the database connection again (which will take some time if I reopen the database connection).

I used to move the CSession m_session to a global variable, but it crashes when I exit the function!!
so how can I make the database connection to a global object. One thing maybe I should mention, I'm writing dll, not exe.
0
eugeneng
Asked:
eugeneng
1 Solution
 
cedigerCommented:
I have a class that is derived from CDatabase that I use for my database connection.  I call the CDatabase::OpenEx() function to establish the connection.  

I then create another class derived from CRecordset to hold the query data.  This is done using the Classwizard.  I open the recordset using an SQL statement, then process the record(s).  I then close the recordset, not the database.

I close the database once I am finished collecting all the information.

Hope this helps,
Cameron
0

Featured Post

[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now