Prikazi cijelu temu 19.02.2011 00:20
zxz Van mreze
Administrator
Registrovan od:03.02.2009
Lokacija:Tuzla


Predmet:Dao Konekcija na MDB bazu
PreuzmiIzvorni kôd (C++):
  1. #import "G:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll"
  2. #include "Debug\dao360.tlh"
  3. #include<atlbase.h>
  4. #include<iostream>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     CoInitialize(0);
  11.     {
  12.         HRESULT hr = -1;
  13.         CComPtr<IUnknown> app;
  14.         DAO::_DBEngine* eng;
  15.         DAO::Workspace* wr;
  16.         DAO::Database* db;
  17.         DAO::Recordset* rs;
  18.         VARIANT_BOOL eof;
  19.         VARIANT_BOOL bof;
  20.         DAO::Fields* fs;
  21.         DAO::_Field* f1;
  22.         DAO::_Field* f2;
  23.         hr = app.CoCreateInstance(L"DAO.DBEngine.36");
  24.         hr = app->QueryInterface(&eng);
  25.         hr = eng->raw_CreateWorkspace(L"TestWorkSpace1", L"Admin", L"", _variant_t(DAO::dbUseJet), &wr);
  26.         //open dbname, ifexclusive, ifreadonly, connect, retdb
  27.         hr = wr->raw_OpenDatabase(_bstr_t(L"c:\\db1.mdb"), _variant_t(0), _variant_t(0), _variant_t(L""), &db);
  28.         hr = db->raw_OpenRecordset(_bstr_t(L"select * from Table1"),
  29.             _variant_t(DAO::dbOpenDynaset), _variant_t(0), _variant_t(2), &rs);
  30.         hr = rs->get_Fields(&fs);
  31.         hr = fs->get_Item(_variant_t(0), &f1);
  32.         hr = fs->get_Item(_variant_t(1), &f2);
  33.         wcout<< L"<"<< (BSTR)f1->Name<< L"><" << f2->Name<< L">"<< endl;
  34.         VARIANT valx, valy;
  35.         while(true)
  36.         {
  37.             hr = rs->get_EOF(&eof);
  38.             hr = rs->get_BOF(&bof);
  39.             if(eof)break;
  40.             if(bof)break;
  41.             f1->get_Value(&valx);
  42.             f2->get_Value(&valy);
  43.             wcout<< L"{"<< (wchar_t*)_bstr_t(_variant_t(valx))<< L"}{";
  44.             wcout<< (wchar_t*)_bstr_t(_variant_t(valy))<< L"}"<< endl;
  45.             hr = rs->MoveNext();
  46.         }
  47.  
  48.         hr = hr;
  49.        
  50.     }
  51.     CoUninitialize();
  52.    
  53.     return 0;
  54. }

Podrška samo putem foruma, jer samo tako i ostali imaju koristi od toga.