如何检查我的C# - MySQL连接成功,或者,如果不是这样,返回为什么呢?(How do I c

2019-09-26 02:53发布

我挣扎了一下这片的C#代码。 基本上,我想要做的是某种机制,以检查是否在首位,为我的SQL服务器的用户和密码组合是正确的,然后,检查是否存在数据库。

连接字符串会是这样的:

connectionString = 
   "database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text;

我想达成的解决方案是一个可以检查抛出的异常,并判断它是关于一个错误的密码,一个错误的用户,没有发现数据库,等等。 我已经看到了一些地方使用DbConnectionStringBuilder的,但我不知道我应该如何使用它。

Answer 1:

   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


Answer 2:

DbConnection.Open()将失败,无效的凭证。



文章来源: How do I check if my C# — MySQL connection was successful or, if it was not, return why?