#include "stdafx.h"
#include <iostream>
using namespace std;
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace rename ("EOF", "adoEOF")
int _tmain(int argc, _TCHAR* argv[])
{
_ConnectionPtr m_conptr;
CoInitialize(NULL);
m_conptr.CreateInstance(__uuidof(Connection));
try
{
m_conptr->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\exercise++++\\MFC\\MultiLang.mdb;Jet OLEDB:DataBase Password=\"BroadMobi\" ","","",adModeUnknown);
}
catch(_com_error e)
{
cout<<"数据库连接失败,确认数据库db1.mdb是否在当前路径下!"<<endl;
return FALSE;
}
_RecordsetPtr m_recordptr;
m_recordptr.CreateInstance(__uuidof(Recordset));
try
{
m_recordptr->Open("SELECT * FROM MultiLangString",m_conptr.GetInterfacePtr(), adOpenDynamic,
adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
cout<<"record error!!!!"<<endl;
}
_variant_t var;
char *strID,*strX,*strY;
float X,Y;
try
{
if (!m_recordptr->BOF)
{
m_recordptr->MoveFirst();
}
else
{
cout<<"shuju kong!!!!"<<endl;
return FALSE;
}
}
catch(_com_error e)
{
cout<<"shuju kong!!!!"<<endl;
return FALSE;
}
int x = 0;
while(!m_recordptr->adoEOF)
{
var = m_recordptr->GetCollect("StrID");
if (var.vt != VT_NULL)
{
strID = _com_util::ConvertBSTRToString((_bstr_t)var);
}
var = m_recordptr->GetCollect("English");
if (var.vt != VT_NULL)
{
strX = _com_util::ConvertBSTRToString((_bstr_t)var);
}
var = m_recordptr->GetCollect("Portuguese");
if (var.vt != VT_NULL)
{
strY = _com_util::ConvertBSTRToString((_bstr_t)var);
}
cout<< strID <<"==="<<strX <<"==="<<strY<<endl;
m_recordptr->MoveNext();
x++;
}
cout<<x<<"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"<<endl;
m_recordptr->Close();
m_recordptr = NULL;
if (m_conptr->State)
{
m_conptr->Close();
m_conptr = NULL;
cout<<"释放数据库"<<endl;
}
while(true);
return 0;
}