如何检查我的C#和#x2014;MySQL连接成功,如果没有成功,返回原因?
我对这段C代码有点纠结。基本上,我尝试做的是某种机制,首先检查我的SQL server的用户和密码组合是否正确,然后检查数据库是否存在 连接字符串如下所示:如何检查我的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
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
的情况下。谢谢,我想我可以用这段代码捕获大多数会使程序崩溃的异常。这就是我一直在寻找的:某种方法来确定抛出了什么样的异常。谢谢,我想我可以用这段代码捕获大多数会使我的程序崩溃的异常。这就是我一直在寻找的:某种确定抛出了哪种异常的方法。