我挣扎了一下这片的C#代码。 基本上,我想要做的是某种机制,以检查是否在首位,为我的SQL服务器的用户和密码组合是正确的,然后,检查是否存在数据库。
连接字符串会是这样的:
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
DbConnection.Open()
将失败,无效的凭证。
文章来源: How do I check if my C# — MySQL connection was successful or, if it was not, return why?