Predmet:Dao Konekcija na MDB bazu
PreuzmiIzvorni kôd (C++):#import "G:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"
#include "Debug\dao360.tlh"
#include<atlbase.h>
#include<iostream>
using namespace std;
int main()
{
CoInitialize(0);
{
HRESULT hr = -1;
CComPtr<IUnknown> app;
DAO::_DBEngine* eng;
DAO::Workspace* wr;
DAO::Database* db;
DAO::Recordset* rs;
VARIANT_BOOL eof;
VARIANT_BOOL bof;
DAO::Fields* fs;
DAO::_Field* f1;
DAO::_Field* f2;
hr = app.CoCreateInstance(L"DAO.DBEngine.36");
hr = app->QueryInterface(&eng);
hr = eng->raw_CreateWorkspace(L"TestWorkSpace1", L"Admin", L"", _variant_t(DAO::dbUseJet), &wr);
//open dbname, ifexclusive, ifreadonly, connect, retdb
hr = wr->raw_OpenDatabase(_bstr_t(L"c:\\db1.mdb"), _variant_t(0), _variant_t(0), _variant_t(L""), &db);
hr = db->raw_OpenRecordset(_bstr_t(L"select * from Table1"),
_variant_t(DAO::dbOpenDynaset), _variant_t(0), _variant_t(2), &rs);
hr = rs->get_Fields(&fs);
hr = fs->get_Item(_variant_t(0), &f1);
hr = fs->get_Item(_variant_t(1), &f2);
wcout<< L"<"<< (BSTR)f1->Name<< L"><" << f2->Name<< L">"<< endl;
VARIANT valx, valy;
while(true)
{
hr = rs->get_EOF(&eof);
hr = rs->get_BOF(&bof);
if(eof)break;
if(bof)break;
f1->get_Value(&valx);
f2->get_Value(&valy);
wcout<< L"{"<< (wchar_t*)_bstr_t(_variant_t(valx))<< L"}{";
wcout<< (wchar_t*)_bstr_t(_variant_t(valy))<< L"}"<< endl;
hr = rs->MoveNext();
}
hr = hr;
}
CoUninitialize();
return 0;
}
Podrska samo putem foruma, jer samo tako i ostali imaju koristi od toga.