In one way, it depends on whether you are targetting iOS or Android. For the former, you would natively use Swift, while for the latter you would natively use Java.
However, there are a number of tools for cross-platform development, of varying quality, some of which work with C#, JavaScript, Clojure, Python, or even VB.Net, so you have a variety of options for this. While it wouldn't be ideal, you can work in VB.Net if you choose (though not VB6, which is long, long out of support).
My own choice would be Clojure, but then I am insane like that. :-)
As for database use, it would depend on whether you need the database to be local to the mobile device, or remote on a server. For device-local databases, you would usually use SQLite, which is somewhat more limited than a full SQL RDBMS. Server databases can use whatever you choose, more or less, but you'd need some means of connecting to it remotely, which usually means some sort of server-side programming in addition to the SQL database.