YOu can use either, it really depends on how you want to distribute it. I
personally don't use the controls in most instances and would recommend, at
least at first, that you do the same. It helps to really see what's causing
everything to work. On the other hand, the controls have wizards which can
really save you some time, but they hard code connection strings for
instance (in many cases) so you have to go in and edit this or change the
properties.
I don't think there's a right or wrong way. The datacontrols do work and
are robust, so that's not really an issue (at least I haven't found it to be
one), but if you really want to seperate your business logic from your UI,
then you are probably doing to hvae to do some hand coding.
HTH,
Bill