ADO操作数据库
2015-07-07 22:16
281 查看
#include "StdAfx.h"
#include "Ado.h"
#include <string>
#include <vector>
using namespace std;
CAdo::CAdo(void)
{
if (!SUCCEEDED(::CoInitialize(NULL)))
{
MessageBox(NULL, _T("初始化COM失败!!!"), _T("text"), MB_OK);
}
// or afxoleinit() contain construct and extract(析构)
//AfxOleInit();
m_pconnect.CreateInstance(__uuidof(Connection));
}
CAdo::~CAdo(void)
{
::CoUninitialize();
}
BOOL CAdo::OpenDatabase(string str1, string str2 , string str3 )
{
TRACE("\nOpendatabase ");
try
{
m_pconnect->Open(_bstr_t(str1.c_str()), _bstr_t(str2.c_str()), _bstr_t(str3.c_str()), adModeUnknown);
}
catch (_com_error e)
{
TRACE("open fail!!!!\n");
return FALSE;
}
return TRUE;
}
void CAdo::CloseDatabase()
{
if (m_pconnect->State)
{
m_pconnect->Close();
m_pconnect = NULL;
TRACE("\nclose database");
}
}
BOOL CAdo::initRecord()
{
TRACE("\ninitrecord");
m_precord.CreateInstance(__uuidof(Recordset));
return TRUE;
}
BOOL CAdo::GetSlectData1(string sentence, string str1, string str)
{
TRACE("select sentence");
try
{
m_precord->Open(sentence.c_str(),m_pconnect.GetInterfacePtr(), adOpenDynamic,
adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
return FALSE;
}
TRACE("verify data");
try
{
if (!m_precord->BOF)
{
m_precord->MoveFirst();
}
else
{
return FALSE;
}
}
catch(_com_error e)
{
return FALSE;
}
TRACE("get data");
int x = 0;
_variant_t var;
while(!m_precord->adoEOF)
{
var = m_precord->GetCollect(_variant_t(str1.c_str()));
if (var.vt != VT_NULL)
{
str = _com_util::ConvertBSTRToString((_bstr_t)var);
}
m_precord->MoveNext();
x++;
}
m_precord->Close();
return TRUE;
}
BOOL CAdo::InsertData(string str1, string str2)
{
TRACE("\ninsertdata str");
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
m_precord->AddNew();
m_precord->PutCollect("date", _variant_t(str1.c_str()));
m_precord->PutCollect("Money" ,_variant_t(str2.c_str()));
m_precord->Update();
m_precord->Close();
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return FALSE;
}
return TRUE;
}
BOOL CAdo::InsertData(string str1, int ndata)
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
m_precord->AddNew();
m_precord->PutCollect(_variant_t(str1.c_str()), (_variant_t)(long)ndata);
m_precord->Update();
m_precord->Close();
return TRUE;
}
void CAdo::fndeleateitem(int item)
{
TRACE("\ndelete a item");
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
if (!m_precord->BOF)
{
m_precord->MoveFirst();
m_precord->Move(item-1);
m_precord->Delete(adAffectCurrent);
m_precord->Update();
m_precord->Close();
}
else
{
m_precord->Close();
}
}
catch (_com_error* e)
{
AfxMessageBox(e->Description());
}
}
void CAdo::QueryData(DATAINFOS &Alldata)
{
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
if (!m_precord->BOF)
{
m_precord->MoveFirst();
_variant_t var;
while(!m_precord->adoEOF)
{
var = m_precord->GetCollect("date");
if (var.vt != VT_NULL)
{
Alldata.date.push_back(_com_util::ConvertBSTRToString((_bstr_t)var));
}
else
{
Alldata.date.push_back(" ");
}
var = m_precord->GetCollect("Money");
if (var.vt != VT_NULL)
{
Alldata.money.push_back(_com_util::ConvertBSTRToString((_bstr_t)var));
}
else
{
Alldata.money.push_back(" ");
}
m_precord->MoveNext();
}
}
m_precord->Close();
}
catch (_com_error* e)
{
AfxMessageBox(e->Description());
}
}
#include "Ado.h"
#include <string>
#include <vector>
using namespace std;
CAdo::CAdo(void)
{
if (!SUCCEEDED(::CoInitialize(NULL)))
{
MessageBox(NULL, _T("初始化COM失败!!!"), _T("text"), MB_OK);
}
// or afxoleinit() contain construct and extract(析构)
//AfxOleInit();
m_pconnect.CreateInstance(__uuidof(Connection));
}
CAdo::~CAdo(void)
{
::CoUninitialize();
}
BOOL CAdo::OpenDatabase(string str1, string str2 , string str3 )
{
TRACE("\nOpendatabase ");
try
{
m_pconnect->Open(_bstr_t(str1.c_str()), _bstr_t(str2.c_str()), _bstr_t(str3.c_str()), adModeUnknown);
}
catch (_com_error e)
{
TRACE("open fail!!!!\n");
return FALSE;
}
return TRUE;
}
void CAdo::CloseDatabase()
{
if (m_pconnect->State)
{
m_pconnect->Close();
m_pconnect = NULL;
TRACE("\nclose database");
}
}
BOOL CAdo::initRecord()
{
TRACE("\ninitrecord");
m_precord.CreateInstance(__uuidof(Recordset));
return TRUE;
}
BOOL CAdo::GetSlectData1(string sentence, string str1, string str)
{
TRACE("select sentence");
try
{
m_precord->Open(sentence.c_str(),m_pconnect.GetInterfacePtr(), adOpenDynamic,
adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
return FALSE;
}
TRACE("verify data");
try
{
if (!m_precord->BOF)
{
m_precord->MoveFirst();
}
else
{
return FALSE;
}
}
catch(_com_error e)
{
return FALSE;
}
TRACE("get data");
int x = 0;
_variant_t var;
while(!m_precord->adoEOF)
{
var = m_precord->GetCollect(_variant_t(str1.c_str()));
if (var.vt != VT_NULL)
{
str = _com_util::ConvertBSTRToString((_bstr_t)var);
}
m_precord->MoveNext();
x++;
}
m_precord->Close();
return TRUE;
}
BOOL CAdo::InsertData(string str1, string str2)
{
TRACE("\ninsertdata str");
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
m_precord->AddNew();
m_precord->PutCollect("date", _variant_t(str1.c_str()));
m_precord->PutCollect("Money" ,_variant_t(str2.c_str()));
m_precord->Update();
m_precord->Close();
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return FALSE;
}
return TRUE;
}
BOOL CAdo::InsertData(string str1, int ndata)
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
m_precord->AddNew();
m_precord->PutCollect(_variant_t(str1.c_str()), (_variant_t)(long)ndata);
m_precord->Update();
m_precord->Close();
return TRUE;
}
void CAdo::fndeleateitem(int item)
{
TRACE("\ndelete a item");
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
if (!m_precord->BOF)
{
m_precord->MoveFirst();
m_precord->Move(item-1);
m_precord->Delete(adAffectCurrent);
m_precord->Update();
m_precord->Close();
}
else
{
m_precord->Close();
}
}
catch (_com_error* e)
{
AfxMessageBox(e->Description());
}
}
void CAdo::QueryData(DATAINFOS &Alldata)
{
try
{
m_precord->Open("SELECT * FROM MultiLangString",m_pconnect.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);
if (!m_precord->BOF)
{
m_precord->MoveFirst();
_variant_t var;
while(!m_precord->adoEOF)
{
var = m_precord->GetCollect("date");
if (var.vt != VT_NULL)
{
Alldata.date.push_back(_com_util::ConvertBSTRToString((_bstr_t)var));
}
else
{
Alldata.date.push_back(" ");
}
var = m_precord->GetCollect("Money");
if (var.vt != VT_NULL)
{
Alldata.money.push_back(_com_util::ConvertBSTRToString((_bstr_t)var));
}
else
{
Alldata.money.push_back(" ");
}
m_precord->MoveNext();
}
}
m_precord->Close();
}
catch (_com_error* e)
{
AfxMessageBox(e->Description());
}
}
相关文章推荐
- 配置远程连接mysql数据库 Connect to remote mysql database
- Mybatis学习总结之动态SQL与模糊查询
- oracle中的等待类
- mysql安装后无法登陆或者jdbc无法连接解决方法
- 常用财务软件:用友,金蝶,新中大,速达,管家婆,金算盘,远方,远光,金钥匙,润衡,浪潮,上海博科,易商,任我行,千方百剂,智管,小蜜蜂,SAP,ORACLE,SSA,QAD,MAPICS,JDE。
- 常用财务软件:用友,金蝶,新中大,速达,管家婆,金算盘,远方,远光,金钥匙,润衡,浪潮,上海博科,易商,任我行,千方百剂,智管,小蜜蜂,SAP,ORACLE,SSA,QAD,MAPICS,JDE。
- 查看mysql数据文件存放路径
- 查看修改mysql编码方式
- SQL Server2008 的安装
- 持久层设计与实施
- mysql-5.7.6-m16-winx64 免安装版配置方法
- scrapy抓取知乎话题v0.2(实现qq发送邮件功能)
- MySQL两种存储引擎MyISAM和InnoDB的比较
- SQL Server Data Tools(SSDT) 安装
- Oracle成长点点滴滴(2)— 权限管理
- SecureCRT 连接sqlplus删除键失效解决方法
- MySQL优化之——优化
- 关于SQL Server数据表的五种约束
- 几种常见SQL分页方式效率比较
- T-SQL的存储过程