For example the accessing SQL Server :
#define DBNTWIN32
#include <stdio.h>
#include <windows.h>
#include <sqlfront.h>
#include <sqldb.h>
int err_handler(PDBPROCESS, INT, INT, INT, LPCSTR, LPCSTR);
int msg_handler(PDBPROCESS, DBINT, INT, INT, LPCSTR, LPCSTR,
LPCSTR, DBUSMALLINT);
main()
{
PDBPROCESS dbproc;
PLOGINREC login;
DBCHAR name[100];
DBCHAR city[100];
dberrhandle (err_handler);
dbmsghandle (msg_handler);
dbinit ();
login = dblogin ();
DBSETLUSER (login, "my_login");
DBSETLPWD (login, "my_password");
DBSETLAPP (login, "example");
dbproc = dbopen (login, "my_server");
dbcmd (dbproc, "SELECT au_lname, city FROM pubs..authors");
dbcmd (dbproc, " WHERE state = 'CA' ");
dbsqlexec (dbproc);
if (dbresults (dbproc) == SUCCEED)
{
dbbind (dbproc, 1, NTBSTRINGBIND, 0, name);
dbbind (dbproc, 2, NTBSTRINGBIND, 0, city);
while (dbnextrow (dbproc) != NO_MORE_ROWS)
{
printf ("%s from %s\n", name, city);
}
}
dbexit ();
return (0);
}
int err_handler (PDBPROCESS dbproc, INT severity,
INT dberr, INT oserr, LPCSTR dberrstr, LPCSTR oserrstr)
{
printf ("DB-Library Error %i: %s\n", dberr, dberrstr);
if (oserr != DBNOERR)
{
printf ("Operating System Error %i: %s\n", oserr, oserrstr);
}
return (INT_CANCEL);
}
int msg_handler (PDBPROCESS dbproc, DBINT msgno, INT msgstate,
INT severity, LPCSTR msgtext, LPCSTR server,
LPCSTR procedure, DBUSMALLINT line)
{
printf ("SQL Server Message %ld: %s\n", msgno, msgtext);
return (0);
}
</sqldb.h></sqlfront.h></windows.h></stdio.h>
Oracle C++ Call Interface (OCCI) is an Application Programming Interface (API) that provides C++ applications access to data in an Oracle database. This API is a significant improvement to the Oracle Call Interface (OCI) API as far as ease of use is concerned.
#include <dbmanager.h>
#include <iostream>
using namespace std;
using namespace oracle::occi;
const string sqlString("select empno, ename, hiredate from emp");
const string dateFormat("DD-MON-YYYY HH24:MI:SS");
int main(int argc, char **argv)
{
if (argc != 2)
{
cerr << "\nUsage: " << argv[0] << " <db-user-name>\n" << endl;
exit(1);
}
string userName = argv[1];
DbManager* dbm = NULL;
OracleServices* oras = NULL;
Statement *stmt = NULL;
ResultSet *resultSet = NULL;
try
{
dbm = new DbManager(userName);
oras = dbm->getOracleServices();
Connection * conn = oras->connection();
stmt = conn->createStatement(sqlString);
int empno;
string ename;
Date hireDate;
string dateAsString;
resultSet = stmt->executeQuery();
while (resultSet->next())
{
empno = resultSet->getInt(1);
ename = resultSet->getString(2);
hireDate = resultSet->getDate(3);
dateAsString="";
if (resultSet->isNull(1))
{
cout << "Employee num is null... " << endl;
}
if (resultSet->isNull(2))
{
cout << "Employee name is null..." << endl;
}
if (resultSet->isNull(3))
{
cout << "Hire date is null..." << endl;
}
else
{
dateAsString=hireDate.toText(dateFormat);
}
cout << empno << "\t" << ename << "\t" << dateAsString << endl;
}
stmt->closeResultSet(resultSet);
conn->terminateStatement(stmt);
delete dbm;
}
catch (SQLException& ex)
{
if (dbm != NULL)
{
dbm->rollbackActions(ex, stmt, resultSet);
}
}
return 0;
}</db-user-name></iostream></dbmanager.h>
About using the MySQL Database with C++, you can read here:
http://suite101.com/article/using-a-mysql-databases-with-c-a70097[
^]