If you have ever read any programming books related to Microsoft development technologies, then you have already read a chapter just like this one. It seems that every Windows programming book has an obligatory chapter on database interaction. The reason for this widespread coverage comes as no surprise: Microsoft comes out with a new database technology every two years or so.
If you are new to Windows development, then you haven't yet been briefed on the following sometimes conflicting, sometimes complementary database interaction tools:
When you look at this list, you might think, "Wow, that's great. There are so many options to choose from." You would be foolish to think this. This list isn't great; it's terrible. Imagine, just for a moment, that we weren't talking about database interfaces, but about other, more practical issues. What if you had to replace the engine in your car every two years? What if the steering column had to be replaced annually? What if you had to replace the oil every 3,500 miles or three months, whichever came first? Could you imagine life in such a world?
Whenever Microsoft introduced a new database object technology into the mix, it was quickly followed by a flurry of reprogramming to bring older "legacy" Visual Basic (and other) applications up to the latest database technology. This wasn't always possible, as time and budget constraints kept organizations on older platforms. I still maintain a quarter-million-line application that uses DAO, a somewhat older technology. Although it will be converted to .NET someday, the cost to move it from DAO to the more flexible ADO platform was prohibitive.
So far, it seems that ADO.NET (ActiveX Data Objects for .NET) is different. It's been out for about six years (as of this writing), and Microsoft hasn't yet teased programmers with a replacement. ADO.NET is quite flexible, and that flexibility will hopefully allow it to stretch itself over new advances in technology for the foreseeable future.
If you are familiar with the ADO technology, then prepare to forget it. ADO.NET is not the natural successor to ADO. It's a completely new technology that is unrelated to ADO, and although it shares some terminology with ADO and other older tools, ADO.NET only does this to play with your mind.