I have not done database programming in C++ and C# before, but did some in Java. Now I am asked to figure out the options to do it in C# or C++ (not sure which one yet). We may use the MySQL RDBMS.

I searched online and found .NET SQL Data Provider, OleDB and ODBC. 

What other APIs exist?
What's your recommendation? 
Do I need to buy separately? 
Are they API can be used directly?