Платформы корпоративных информационных систем


Пример 13-3. Заголовок класса Connection



Пример 13-3. Заголовок класса Connection


#ifndef l_connection_h

#define l_connection_h

#include <sys/time.h>

#if defined(HAS_MSQL)

#include <msql. h>

#lelif defined(HAS_MYSQL)

#include <mysql.h>

#endif

#include "result.h"

class Connection { private:

int affected_rows;

#if defined(HAS_MSQL)

int connection;

#elif defined(HAS_MYSQL)

MYSQL mysql;

MYSQL 'connection; tfelse

#error База данных не определена,

#endif

public:

Connection(char *, char *);

Connection(char *, char *, char *, char *);

~Connection();

void Close();

void Connect(char 'host, char *db, char *uid, char *pw);

int GetAffectedRows();

char. *GetError();

int IsConnected();

Result *Query(char *);

};

#endif // l_connection_h

Методы, которые предоставляет класс Connection, одинаковы вне зависимости от используемой СУБД. Однако спрятанными в глубине класса окажутся закрытые члены, специфичные для той библиотеки, с которой он будет компилироваться. При установлении соединения единственными различными данными-членами станут те, которые представляют соединение с базой данных. Как отмечалось, mSQL для представления соединения использует величину типа int, a MySQL использует указатель на MYSQL и дополнительную величину типа MYSQL для установления соединения.









Начало  Назад  Вперед


Книжный магазин