That's because "datasource" is spelled with a "c":
String^ constring=L"datasourse=localhost;port=3306;username=root;password=password";
^
|
But don't hard-code connection strings, it means you have to change your code every time you release it. Which means re-testing it, and this time you are testing against the production database. Dangerous!
And a couple of other things:
1) Never concatenate strings to build a SQL command. It leaves you wide open to accidental or deliberate SQL Injection attack which can destroy your entire database. Use Parametrized queries instead.
2) The name of a control is not the same as it's Text property: Your username will always be "System.Windows.Controls.Textbox"...
3) Never store passwords in clear text - it is a major security risk. There is some information on how to do it here:
Password Storage: How to do it.[
^] - it's in C# but it's all still applicable.