Wednesday, September 06, 2006

Moving from Classic ADO to ADO.Net Part 1

My move to VS.Net wasn't a very well researched one. I didn't read any books or even check any websites to find out what's new and different. I had no idea about the ".net way" if you will. So I went straight in from my background of VB and Delphi to .net, and with it I took my knowledge and understanding of ADO.

So eRoll 3.0 was prototyped one boring Tuesday night in VB.Net (originally to reduce code re-write...). So with it ADODB was added straight to the references and I went on talking to the database the same way I always have. And it worked, seemed to be pretty quick so I never really thought about finding a better way.

Then eTrack came around. eTrack represents a few things to me, first it's the biggest single project I've ever worked on and the project has pretty much been all my own ideas and concepts. It is written entirely in C# (as with all of my non-asp applications). A whole lot of planning went into eTrack, in fact there's roughly 20 pages devoted to it. Most of it involved what was going to be stored, how to turn this one big complex problem into multiple smaller ones, how the database should be designed etc. I didn't once give thought to how I should be accessing the database, assuming the old eRoll model should work.

So I started work on it. A few hurdles were along the way. Firstly, I moved from VS 2001 to VS 2003 and then finally VS 2005. Then I moved away from a large tab control doing each section to MDI (though the MDI functionality has been changed). This involved a re-write of most of the UI elements. Then I had to redo even more UI elements when I found what I think is a bug in VS 2005 and the old Toolbar control (it'd continuously forget toolbar item names when switching between code view and designer). So more work had to be done there. Then there was a lot of smooth sailing.

I had written about three or four modules before I relised what I was doing was all wrong. It all started when I tried to open a Recordset...

To be continued... next part will have my solution and hopefully a wrapper for going between ADO and ADO.net smoothly.

No comments: