Per l'accesso al database di suggerisco di utilizzare Entity Framework 6.
Prova a seguire questo tutorial fatto veramente bene, step by step:
http://www.mikesdotnetting.com/Article/241/MVC-5-with-EF-6-in-Visual-Basic-Creating-an-Entity-Framework-Data-Model
poi questo tratta di un sito asp.net, se hai un applicazione windows form, sostituisci la parte "Create an MVC Web Application" creando la tua applicazione winforms, come avrai già fatto, questa sezione "Set Up the Site Style" non ti interessa, partendo da "Install Entity Framework 6" è completamente identico su winforms. Nella sezione "Creating a Student Controller and Views" trovi come riesci a fare le chiamate a db, ovviamente tutto il resto non ti interessa.
Alla fine le tue chiamate a db si riducono a poche righe di codice:
altrimenti l'altro approccio senza entity framework, è l'utilizzo di quello che sta alla base di EF, e cioè ADO.NET, sfruttando gli oggetti:
SqlConnection (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.aspx)
SqlCommand (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.aspx)
SqlDataReader (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx)
un consiglio: evita i DataTable, a favore di un approccio più object oriented, creandoti tante classi quante sono le entità che devi salvare (utenti, libri, studenti, corsi, ...)
se inizi con EF (entity framework), forse rischi di non vedere/studiare i concetti base di ADO.NET, ma dall'altra parte sei forzato a lavorare con un modello di classi che descrivono perfettamente le tue entità, e per me è la base di un buon modello di salvataggio dati. Io pur avendo progetti che sfruttano ADO.NET invece che EF, ho comunque la stessa modellazione classi che viene suggerita da EF, infatti potrei passare da ADO.NET a EF in ogni momento.
Michael Denny | Visual C# MVP
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
http://mvp.microsoft.com/mvp/Michael%20Denny-5000735
Twitter: @dennymic