(完整版)RFID毕业课程设计 下载本文

}

数据库连接函数

#include \{ }

void ADOConn::displayResultSet(_RecordsetPtr rsp) {

try {

rsp->MoveFirst(); while(!rsp->adoEOF) {

string

::CoInitialize(NULL); 初始化OLECOM库环境,为访问ADO接口做准备 HRESULT .CreateInstance(\创建Connection对象 }

cout<<\

_bstr_t strConnect=\ ->Open( strConnect,\ cout<<\ if(SUCCEEDED(()<

** 离开临界区 *

LeaveCriticalSection(&m_csCommunicationSync); return true;

return false;

bookname=(char*)(_bstr_t)(rsp->Fields->GetItem(_variant_t(\ }

_RecordsetPtr & ADOConn::GetRecordSet(_bstr_t bstrSQL) {

m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdTtry {

连接数据库,如果connection对象为空,则重新连接数据库 if(m_pConnection==NULL)

OnInitADOConn();

}

catch (_com_error &e) { }

cout << e.Description()<

cout<MoveNext();

创建记录集对象

m_pRecordset.CreateInstance(_uuidof(Recordset));

ext);

}

catch(_com_error e) {

}

bool ADOConn::ExecuteSQL(_bstr_t bstrSQL)(\{ }

void ADOConn::ExitConnect() {

关闭记录集和连接 try { }

catch(_com_error e) { }

AfxMessageBox(e.Description()); 是否已经连接数据库 if(m_pConnection ==NULL)

OnInitADOConn();

}

返回记录集

return m_pRecordset;

cout<

m_pConnection->Execute(bstrSQL,NULL,adCmdText); return true;

cout<

} 主函数

RFIDKCSJ.cpp : 定义控制台应用程序的入口点。 #include \{

unsigned char** EPC=0; int flag=0;

SaleManager* sale=new SaleManager(); while(1) {

flag=sale->displayMenu(); switch(flag) { case 1:

sale->addProduct(); break;

if(m_pRecordset !=NULL)

m_pRecordset->Close();

m_pConnection->Close(); 释放环境

::CoUninitialize();关闭olecom库,释放资源

case 2:

sale->saleProduct(); break;

case 3: