Прості класи ODBC без використання MFC
CODBCCnx містить три функції Connect (), Disconnect () і IsOk (). Функція Connect () дозволяє зв’язатися з драйвером DSN чи використовуючи мережне ім'я комп’ютера. Другой спосіб здійснення через відкликання базою данны, використовуючи мережне ім'я компьютера. Для підготовки даної праці були використані матеріали із російського сайту internet. Dsn. Disconnect (); //повертаємо незавершённые… Читати ще >
Прості класи ODBC без використання MFC (реферат, курсова, диплом, контрольна)
Простые ODBC класи без використання MFC
Мне довелося написати значна частина додатків що з базами даних. Більшість їх було невеликими й використали MFC клас CRecordset. Залежність від MFC мене який завжди влаштовувала й тоді вже засів за створення власної класу. Отже з’явився набір, який складається з кількох класів, який би необхідні змогу роботи з ODBC драйвером.
На насправді ці класи не претендують чогось «досконале «і «потужне », але вони можуть навіть вельми знадобитися тим хто бажає працювати з драйвером ODBC безпосередньо через АПІ функції.
В файлах ODBC. h і ODBC. cpp міститься три класу CODBCCnx, CODBCQuery і CODBCFatQuery. Основною з них CODBCCnx, який коннектится до DBMS, а як і здійснює всі необхідні дії з обробці запитів. CODBCQuery і CODBCFatQuery є зарезервованими, і це планую з допомогою розширити можливості основного класу.
Класс CODBCCnx
CODBCCnx містить три функції Connect (), Disconnect () і IsOk (). Функція Connect () дозволяє зв’язатися з драйвером DSN чи використовуючи мережне ім'я комп’ютера.
//связываемся з DBMS через DSN, «foodsn «.
CODBCCnx dsn ();
dsn.Connect («foodsn », «username », «password »);
//Замечание: CODBCCnx dsn («foodsn », username ", «password »); ідентично попередньої строке.
//проверяем успішність соединения.
if (!dsn.IsOk ()){.
//успешное з'єднання з базой.
}.
else{.
//ошибка при соединении.
}.
//другой спосіб здійснення через відкликання базою данны, використовуючи мережне ім'я компьютера.
CODBCCnx name («SQL Server », «CompName », «username », «password »);
//опять перевіряємо успішність соединения.
if (!name.IsOk ()){.
//успешное з'єднання з базой.
}.
else{.
//ошибка при соединении.
}.
Итак, ми з'єдналися з базою даних, тепер спробуємо завершити сеанс зв’язку. І тому знадобиться функція Disconnect (). У параметрах цієї функції можна ставити різноманітним параметрам. Наприклад, якщо транзакції перебувають у активному стані, те з допомогу цих параметрів можна повернути кошти у початковий стан, або почекати їх завершення. Якщо викликати функцію Disconnect, без параметрів, то ми все транзакції повернуться до вихідне стан.
//завершаем сеанс зв’язку (dsn).
dsn.Disconnect (); //повертаємо незавершённые транзакції в попереднє состояние.
//Замечание: dsn. Disconnect (SQL_ROLLBACK) те ж саме, як і попередня строка.
//завершаем сеанс в зв’язку зі базою «name «.
name.Disconnect (SQL_COMMIT); //завершуємо все незавершённые транзакции Класс CODBCQuery.
Итак, ми розглянули основні дії для спілкування з базою даних. Але є ще одне момент. Не полохо було працювати з об'єктом, створеним раніше, через покажчики, тобто зробити його доступним з деяких інших класів. І тому створили клас CODBCQuery. CODBCQuery неспроможна використовуватися як об'єкт, він постійно прив’язаний до основного класу:
//Устанавливаем з'єднання, використовуючи dsn.
CODBCCnx *pDsn = new CODBCCnx («foodsn », «username », «password »);
CODBCQuery qry1, qry2;
if (!pDsn->IsOk ()).
{.
//успешный коннект! тепер дамо в доступ даний сеанс зв’язку :).
pDsn->Connect (qry1.h_qstmt);
pDsn->Connect (qry2.h_qstmt);
}.
else{.
//ошибка.
}.
//так цю процедуру можна совешнить за шаг.
CODBCQuery qry (new CODBCCnx («foodsn », «username », «password »), true);
//либо ми можемо брати pDsn і передавати їх у зв’язку нових объектов.
CODBCQuery qry2(pDsn), qry3(pDsn, false);
//либо можна змусити клас CODBCQuery самостійно коннектиться.
CODBCQuery qry4(«SQL Server », «CompName », «username », «password »);
//используя DSN.
CODBCQuery qry5(NULL, «foodsn », «username », «password »);
Заключительная замітка: існує глобальна функція SQLSuccess (). Якщо передати у неї зміну SQLRETURN, то функція вернёт не нульовий значення, тоді як цієї перемінної вказати значення SQL_SUCCESS чи SQL_SUCCESS_WITH_INFO. Іноді возвращаемая інформація буває навіть вельми полезной.
В доповнення.
В архіві містяться два файла strutil. h і strutil.cpp. Це дуже прості функції мають тип char*. Мене дратує стала необхідність з надання пам’яті для strcpy, тощо… Тож мені більше підходять ці дві функції замість стандартних. Їх назви розпочинаються з jkl_str. Сподіваюся, вони Вам сподобаються :).
Список литературы
Для підготовки даної праці були використані матеріали із російського сайту internet.