Check this link (sorry its in Spanish, maybe you'll need a little help with that, but I managed to make it work)
Check this code, it may help you
Despite the fact that is a good practice that a client doesn't access a DB directly, there are cases when that's exactly what you need, and a web service in the middle, well, its unlikely to work fine.
I have worked in the automotive industry for 6 year developing intensive use C# client apps that connect to SQL server to store production information, and that's the standard procedure, so, if you manage to ask the user for credentials or save the connection string somewhere else and download each time the app is launched, and create a set of special user-logins with limited access (in my case they can only execute a limited set of stored procedures and functions) you'll be fine, also make sure the DB is only accessible trough your LAN or VLAN.
That's a real case scenario, works fine, and will remain the same until something new appear, but certainly a middle web service, well, just sucks, either ASP or whatever it is