Dmitry -- you may benefit from reading another of my blog posts about DataAccess:
http://geek-goddess-bonnie.blogspot.com/2009/10/dataaccess-part-ii.htmlIt needs updating just a bit, but I wrote that post several years ago and just haven't gone back to revise it ... I should have had the class implement IDisposable, so that it can be called from a using block, but other than that it's not a bad class. Simplistic perhaps and nees fleshing out, but you'll notice if you look at the code in the blog that every bit of the DataAccess is contained in that one class. No passing back and forth of DataAdapters, only the DataSets get passed back and forth. This keeps all of the database related stuff out of your UI, where it does NOT belong.
~~Bonnie