Database Programming ATL
Posted
by Alboaie Sinicc
on December 21st, 2001
Environment: VC++ 6, Windows 2000
This article is for Visual C++ -- OLE/DB programmers that are using ATL but must interact with components or code (from VB or even Visual C++) using ADO. Some time ago was really a problem for me to use such components without changing my code that was using ATL OLE/DB style for accessing a database.
The key code is where the ADO.s Connection is used to get a CSession:
. . . GUID IID_ACC={0x00000516,0x0000,0x0010,0x80,0x00, 0x00,0xAA,0x00,0x6D,0x2E,0xA4}; HRESULT hr; try { if(!m_pADOconnection->CreateDispatch( _T("ADODB.Connection"), e)) throw e; CString strConnection; strConnection.Format("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=db.mdb;"); m_pADOconnection->Open(strConnection,"admin","", 0); propd=m_pADOconnection->m_lpDispatch; hr=propd->QueryInterface(IID_ACC,(void**)&pUnk); if(FAILED(hr)) return hr; hr=((ADOConnectionConstruction15*)pUnk)-> get_Session(&pSession); if(FAILED(hr)) return hr; hr=pSession->QueryInterface( IID_IOpenRowset, (void**)&pOpenRowset); if(FAILED(hr)) return hr; m_pSession->m_spOpenRowset.Attach( (IOpenRowset*)pOpenRowset); } catch(...) . . .

Comments
How to query.
Posted by Legacy on 04/10/2003 12:00amOriginally posted by: csjung
How can i insert data and query using this code?
eg) Inset Into mlist VALUES(~~~)
: to insert data.
Select * from mlist where FirstName = 'name1'
: to query record.
Thanks in advance.
ReplyJung.
how to use SQL Server for this example?
Posted by Legacy on 12/21/2001 12:00amOriginally posted by: James
Thanks, I have a SQL Server DB in another computer,
its Data Source name is: DBTest
how can I connect to it with your sample?
James
Reply