我正在努力使用这段C#代码。基本上,我正在尝试做的是某种机制来检查我的SQL服务器的用户和密码组合是否正确,然后检查数据库是否存在。
连接字符串将是这样的:
connectionString =
"database=test;server=localhost;uid=" + usr.Text + ";pwd=" + pwd.Text;
我试图达到的解决方案是可以检查抛出的异常,并告诉它是否是错误的密码,错误的用户,未找到的数据库等等。我在某些地方看到过使用DbConnectionStringBuilder,但我不确定应该如何使用它。
答案 0 :(得分: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;
}
}
}
可以通过运行
找到Sql Server异常号的完整列表SELECT * FROM master.dbo.sysmessages
答案 1 :(得分:1)
DbConnection.Open()
将因无效凭据而失败。