My prefered way is to setup a DAL (Data Access Layer). It should be as generic as you can make it, this means no SQL statements, table names, parameters or even connection strings.
Create the DAL as an abstract (MustInherit) class and have your BLL (Business Layer) class inherit it. This BLL is where you would have the project-specific SQL statements etc.
You can use this DAL in any project, C#, VB.NET, WinForm and even ASP.NET.