如何检查我的C#和#x2014;MySQL连接成功,如果没有成功,返回原因?

如何检查我的C#和#x2014;MySQL连接成功,如果没有成功,返回原因?,c#,mysql,exception,login,connection,C#,Mysql,Exception,Login,Connection,我对这段C代码有点纠结。基本上,我尝试做的是某种机制,首先检查我的SQL server的用户和密码组合是否正确,然后检查数据库是否存在 连接字符串如下所示: connectionString = "database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text; 我试图找到的解决方案是,可以检查抛出的异常,并判断它是否与错误的密码、错误的用户、未找到的数据库等有关。我在某些地方见过DbConnectionStri

我对这段C代码有点纠结。基本上,我尝试做的是某种机制,首先检查我的SQL server的用户和密码组合是否正确,然后检查数据库是否存在

连接字符串如下所示:

connectionString = 
   "database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text;
我试图找到的解决方案是,可以检查抛出的异常,并判断它是否与错误的密码、错误的用户、未找到的数据库等有关。我在某些地方见过DbConnectionStringBuilder的使用,但我不确定该如何使用它。

将因凭据无效而失败。

将因凭据无效而失败

   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;
       } 
     }
   }
运行以下命令可以找到Sql Server异常号的完整列表

SELECT * FROM master.dbo.sysmessages
运行以下命令可以找到Sql Server异常号的完整列表

SELECT * FROM master.dbo.sysmessages

“连接到数据库并捕获任何异常”发生了什么?连接到数据库并捕获任何异常发生了什么?如果数据库(如连接字符串中指定的)不存在,我相信它也会失败。因此,它归结为分析异常以确定具体的故障。@编码故障类型通常有一些标识符
SqlException.Number
SqlConnection
的情况下。我相信如果数据库(如连接字符串中指定的)不存在,它也会失败。因此,它归结为分析异常以确定具体的故障。@编码故障类型通常有一些标识符
SqlException.Number
SqlConnection
的情况下。谢谢,我想我可以用这段代码捕获大多数会使程序崩溃的异常。这就是我一直在寻找的:某种方法来确定抛出了什么样的异常。谢谢,我想我可以用这段代码捕获大多数会使我的程序崩溃的异常。这就是我一直在寻找的:某种确定抛出了哪种异常的方法。