ActiveX Data Objects (or ADO) are a set of COM objects created by Microsoft for accessing different flavors of databases with one fairly simple set of methods. It's often mentioned as a part of ASP (Active Server Pages), but it's really it's own thing, useable from any (Microsoft) programming environment. It's just lumped with ASP because it's what makes ASP easy and popular. The other programming languages still use OLE DB more often than not anyway.

Even though the word(?) "ActiveX" is in the name, it's not quite that evil. It's a really easy and efficient way to set up a database for the web (server-side, compatible with any browser, unlike ActiveX Controls). Here's a quick overview of the objects from an ASP programmer's perspective:

There are several newer objects in the ADO package that do some really nice things (and some not-so-nice):

Additionally, I've never had any problem with ADO - no mysterious errors or bugs, no sudden crashes from using it, or anything. I've had problems with ODBC and MS Transaction Server (and of course, NT) while using ADO, but ADO is one of the few Microsoft products that shines. It's easier than English and twice as effective. A reboot or two every month, and things work fine and fast.

It should be noted that most of my ADO usage has been on a dual processor Compaq Reliant with extra racing stripes on the drive array and DS-3 tattoos, so your mileage may vary when comparing to similar technologies. But practical before proud - my first ASP/ADO project was an eBay-style auction site (the client didn't care much for copyright, heh), and it only took me a week of 8 hour days to get from design to functional. I had a full month to test and tweak it and watch the graphic designers scramble, instead of the usual day-past-deadline "power button's green, it must work!" test. Yay, ADO.