我想要打开WPF程序,然后关闭SQL Server数据库,当数据库重新联机时,WPF应该自动连接到数据库。如果我重新启动SQL Server,请保持活动程序并尝试连接到数据库,直到连接可用。我应该抓住异常然后重复一下吗?
我尝试重新启动应用程序然后我得到了异常,但无论如何我的程序崩溃并停止工作。
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
}
catch (SqlException ex)
{
//how stop crash? //
//System.Windows.Forms.Application.Restart();
return ex.ToString();
}
finally
{
connection.Close();
}
}
答案 0 :(得分:0)
要做的是在整个应用程序的单个静态方法中集中创建连接。
public static SqlConnection getConnection()
{
string conn = string.Empty;
conn = System.Configuration.ConfigurationManager.ConnectionStrings["quality"].ConnectionString;
SqlConnection aConnection = new SqlConnection(conn);
return aConnection;
}
在您的代码中,每次使用连接时都请尝试:
public int test()
{
SqlConnection conn = null;
try
{
try
{
conn = StaticContext.getConnection();
conn.Open();
//TODO OPERATION
}
catch (Exception e)
{
//return ex.ToString();
return -1;//MY_ERROR_CODE;
}
}
finally
{
conn.Close();
}
return 1//MY_SUCCES_CODE;
}
当你调用DB方法管理所以错误:
if (test() == -1)
{
//MESSAGE BOX ERROR OR OTHER
}