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

本文关键字:成功 是否 连接 如果不 返回 MySQL 何检查 检查 我的 | 更新日期: 2023-09-27 18:02:31

我有点纠结于这段c#代码。基本上,我要做的是某种机制,首先检查我的SQL服务器的用户和密码组合是否正确,然后检查数据库是否存在。

连接字符串应该像这样:

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

我试图达到的解决方案是一个可以检查抛出的异常,并告诉它是否关于一个错误的密码,一个错误的用户,没有找到数据库,等等。我已经看到DbConnectionStringBuilder的使用在一些地方,但我不确定我应该如何使用它。

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

   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

DbConnection.Open()将失败,凭据无效