如何检查我的C# - MySQL连接是否成功,如果不成功,则返回原因?

1 c# mysql connection login exception

我正在努力使用这段C#代码.基本上,我正在尝试做的是某种机制来检查我的SQL服务器的用户和密码组合是否正确,然后检查数据库是否存在.

连接字符串将是这样的:

connectionString = 
   "database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text;
Run Code Online (Sandbox Code Playgroud)

我试图达到的解决方案是可以检查抛出的异常,并判断它是否是错误的密码,错误的用户,未找到的数据库等等.我在某些地方看到过使用DbConnectionStringBuilder,但我不确定应该如何使用它.

Bra*_*olt 7

   string connectionString = "database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text;
   using (SqlConnection conn = new SqlConnection(connectionString))
   {
     try
     {
       conn.Open();
     }
     catch (SqlException ex)
     {
       switch (ex.Number) 
       { 
         case 4060: // Invalid Database 
          ....
          break;
         case 18456: // Login Failed 
          ....
          break;
         default:
          ....
          break;
       } 
     }
   }
Run Code Online (Sandbox Code Playgroud)

可以通过运行找到Sql Server异常号的完整列表

SELECT * FROM master.dbo.sysmessages
Run Code Online (Sandbox Code Playgroud)