Re: Replacement for Dao

From: Roy Fine (rlfine_at_twt.obfuscate.net)
Date: 05/10/04


Date: Sun, 9 May 2004 22:39:52 -0400

Rajas

I have to make sure that I was runing with a "real" 2003 format database, so
I created a new databse using Access 2003, and imported some data. I then
wrote a quick hack of a program to create a CDaoDatabase object and a
CDaoRecordset object, then open both and fetch from the database. All seems
to work ok - but I was using VC++ 7.1 (VS 2003).

regards
roy fine

(note - DAO is still available - but it has officially been moved to the
deprecated category - i.e. you should move to a new/supported technology
soon. There is no native support for Jet in .Net, so one could expect the
Jet Engine to be deprecated soon - in fact Jet will not be available at all
on 64 bit platforms, rather you have MSDE as the backend database engine)
   rlf

Here is a snip of the code that I used:

/* ******************************************* */
BOOL CDAODoc::OnNewDocument()
{
 if (!CDocument::OnNewDocument())
  return FALSE;

 CDaoDatabase *db;
 CString db_2003_Path = "C:\\Documents and Settings\\Administrator\\My
Documents\\FastTalk3000_vA.mdb";
 db = new CDaoDatabase();
 db->Open(db_2003_Path);

 CDaoRecordset *daorec = new CDaoRecordset(db);
 daorec->Open(AFX_DAO_USE_DEFAULT_TYPE,"Select count(*) FROM names_master");
 int reccnt = daorec->GetFieldValue(0).lVal;

 daorec->Close();
 db->Close();

 delete daorec;
 delete db;

 return TRUE;
}
/* ************************************************** */

"rajas" <rajas@cox.net> wrote in message
news:EfAnc.19083$ph.708@fed1read07...
> Roy,
> Thanks for the input.
>
> The application (an MFC app) that I am looking at actually works well with
> Access2000 - in fact the application checks to see if jet 4.0 is available
> and uses AfxGetModuleState()->m_dwVersion = 0x0601; to work around the
hard
> coding in MFC. However, something in Office 2003 seems to break it.
>
> As I wrote earlier, the application uses Jet database or SQL server. I
read
> that Jet actually provides ADO support through its ODBC (I am still
looking
> through examples in ODBC for Autonumber - seems a pain with need for
> multiple accessor macros , as well as BLOB support for large text
strings -
> was straight forward in Dao) and hence ODBC may perform better than ADO.
> Have not made a decision yet - but looks like I need to real soon.
>
> "Roy Fine" <rlfine@twt.obfuscate.net> wrote in message
> news:uouV1qSNEHA.892@TK2MSFTNGP09.phx.gbl...
> > Rajas,
> >
> > you may have gotten a bit of bad info -- DAO still works, it is MFC that
> is
> > hardcoded to the DAO 3.5 version. DAO 3.6 works well with Jet 4
database
> > versions through Access 2000 for sure.
> >
> > If you want to move away from DAO, then you should seriously consider
> ADO -
> > there are capabilities in ADO and ADOX that match DAO, while the ODBC
> > support is a bit weak (like not being able to create autonumber column,
> and
> > not being able to access the @@IDENTITY column, etc...)
> >
> > regards
> > roy fine
> >
> >
> > "rajas" <rajas@cox.net> wrote in message
> > news:H2tmc.17865$ph.13348@fed1read07...
> > > Hello,
> > >
> > > I need to 'update' an application that uses MFC Dao database classes -
> it
> > > appears that this will not work in newer Windows & no longer
supported.
> > The
> > > application uses Access or SQL server depending on the circumstances.
> > >
> > > What is the best alternative - Still need to use VC 6 (not .Net).
> Need
> > to
> > > taking into account learning curve & 'longevity' of support.
> Performance
> > is
> > > also a consideration - though secondary. Most ADO examples in MSDN
> > seem
> > > to be .Net or VB, and OLE DB examples are even more limited.
> > >
> > > I would appreciate any and all input. If there is already a place
where
> > > this has been discussed - I would appreciate if someone would point me
> to
> > > it.
> > >
> > > Thanks
> > >
> > >
> >
> >
>
>



Relevant Pages

  • Re: Databases - DAO and ADO
    ... Jet or ODBC? ... DAO or ADO? ... While I wait for additional books to arrive (just bought VB6 Database for ...
    (microsoft.public.vb.general.discussion)
  • Re: Which database support?
    ... ADO is likely the better way to go, although ODBC is a close second. ... but *only* if the target database is based on the MSFT Jet Engine ... ADO is built on OLEDB; Both are based on a set of interfaces defined by ...
    (microsoft.public.vc.mfc)
  • Re: Back-to-front introduction needed
    ... "ADO.NET and ADO Examples and Best Practices is the .NET" version, ... That's the problem with JET. ... >>working with a database engine of some kind. ... The engine does all of the physical IO in binary. ...
    (microsoft.public.dotnet.framework.adonet)
  • Re: RecordSet fails if a field is null ! - unspecified error 80004005
    ... Yeah thats what I was doing to be sure. ... Could your database be corrupt? ... Maybe something is wrong with your Jet components. ... I didnt think you could use ODBC with access... ...
    (microsoft.public.scripting.vbscript)
  • Re: ADO.net Code contest
    ... Ah, actually, accessing an Access database is done through JET. ... generic interface like OLE DB or ODBC from any data access interface ... ODBC, OLE DB are ...
    (microsoft.public.dotnet.framework.adonet)

Loading