Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual2.doc
Скачиваний:
5
Добавлен:
07.03.2016
Размер:
3.31 Mб
Скачать

Int tip_bd; // тип бд 1- ms access, 2- MySql, 3 - xml

Void Connect_Baza(cString str);

Void ErrMessage(_com_error &ce);

// Implementation

public:

virtual ~CAdo6Doc();

#ifdef _DEBUG

virtual void AssertValid() const;

virtual void Dump (CDumpContext & dc) const;

#endif

protected:

// Generated message map functions

protected:

//{{AFX_MSG(CAdo6Doc)

afx_msg void OnMsaccess();

afx_msg void OnMysql();

afx_msg void OnXmlRead();

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

/ / {{AFX_INSERT_LOCATION}}

/ / Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif //!defined(AFX_ADO6DOC_H__138C962A_D0C3_41F2_9026_AAC904CAB9DE__INCLUDED_)

Реалізація класу CADO6Doc наведена у файлі ado6Doc.cpp.

// Ado6Doc.cpp: implementation of the CAdo6Doc class

//

#include "stdafx.h"

#include "Ado6.h"

#include "Ado6Doc.h"

#include "Ado6dlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE [] = __FILE__;

# Endif

/////////////////////////////////////////////////////////////////////////////

// CAdo6Doc

IMPLEMENT_DYNCREATE(CAdo6Doc, CDocument)

BEGIN_MESSAGE_MAP(CAdo6Doc, CDocument)

//{{AFX_MSG_MAP(CAdo6Doc)

ON_COMMAND(ID_MSACCESS, OnMsaccess)

ON_COMMAND(ID_MYSQL, OnMysql)

ON_COMMAND(ID_XML_READ, OnXmlRead)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CAdo6Doc construction/destruction

CAdo6Doc::CAdo6Doc()

{

CoInitialize(NULL); // для COM і ADO

pConn = 0; // вказівка на об'єкт Connection

pRecordset = 0; // вказівка на об'єкт Recordset

If(pConn.CreateInstance("adodb.Connection"))

{

pConn = 0;

::MessageBox(0,

"Не выполнена инициализация Connection",

"Внимание!!!",MB_ICONINFORMATION);

return;

}

pConn->ConnectionTimeout = 15000;

pConn->CommandTimeout = 15000;

pConn->CursorLocation = adUseClient;

pConn->Mode = adModeReadWrite;

If(pRecordset.CreateInstance("adodb.RecordSet"))

{

::MessageBox(0,

"Не выполнена инициализация Recordset",

"Внимание!!!",MB_ICONINFORMATION);

pConn.Release();

pConn = 0;

pRecordset = 0;

}

baza = "";

table = "";

}

// Функция обработки ошибок

Void cAdo6Doc::ErrMessage(_com_error &ce)

{

CString err="";

err+=ce.Description();

err+="\n";

err+="Source: ";

err+=ce.Source();

err+="\n";

err+=ce.ErrorMessage();

::MessageBox(0,err,"Внимание, ошибка!!!",

MB_ICONINFORMATION);

}

CAdo6Doc::~CAdo6Doc()

{

if (pRecordset!=0 && pRecordset->GetState())

pRecordset->Close();

if (pRecordset!=0)

pRecordset.Release();

if (pConn!=0 && pConn->GetState())

pConn->Close();

if (pConn!=0)

pConn.Release();

CoUninitialize(); // вивантаження бібліотек

}

BOOL CAdo6Doc::OnNewDocument()

{

if (!CDocument::OnNewDocument())

return FALSE;

// TODO: add reinitialization code here

// (SDI documents will reuse this document)

return TRUE;

}

/////////////////////////////////////////////////////////////////////////////

// CAdo6Doc serialization

void CAdo6Doc::Serialize(CArchive& ar)

{

if (ar.IsStoring())

{

}

else

{

}

}

/////////////////////////////////////////////////////////////////////////////

// CAdo6Doc diagnostics

#ifdef _DEBUG

void CAdo6Doc::AssertValid() const

{

CDocument::AssertValid();

}

void CAdo6Doc::Dump(CDumpContext& dc) const

{

CDocument::Dump(dc);

}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////

// CAdo6Doc commands

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]