Is it recommended to use a WCF Service Library in developing an N-Tier Windows Application? Also is it better to use the VS wizards to create the DataTables and DataSets? And if so should I add all of my tables to 1 dataset or have a dataset for each table? This is all new to me and I want to learn it the right way.
WCF is a good way to access databases through fire walls. However if your application is an application used by users in the same office where there is a common LAN, I don't think the complexity would be justified. This is especially true if the database is owned and controlled only by this one application.
In many cases, you need to taylor the data passed between the tiers or layers. I would suggest that you look into Entity Framework or another ORM to take care of this for you. Also suggestion by @Ourjamie is good.
I suggest you assess your real need for an N-tier architecture (if N>2). Also, you may want to consider Microsoft RIA Services that may be easier for you than WCF. One last word, sometimes the skills of the team drives technology. Make sure your team is good enough in these technologies before commuting deadlines.
Yes but not with datasets or datatables. I would personally create a Library of Data Transfer Objects (DTO) comprised of primitive types, rather than (I assume) ado.net datatables. The reasoning is that datatables and datasets can be rather laborious to consume by non .net clients.
Secondly, you have a wide range of transport protocols with WCF and can with switch between tcp/ip or http as the demands of your service consumers alters.
I would read up on Juval Lowy's though from the iDesign.net site or books to get a better handle on things