gpt4 book ai didi

c - if SqlConnection C# 检查连接打开、关闭

转载 作者:行者123 更新时间:2023-11-30 17:11:23 25 4
gpt4 key购买 nike

我的代码不想返回关闭连接。如果我没有太多知识,我就无法使用它们。

 private void button1_Click(object sender, EventArgs e)
{
string connectionString = GetCString();

using (SqlConnection connection = new SqlConnection(connectionString))


if (connection.State == ConnectionState.Open)
{
connection.Open();
Logger.getS().info_warning("Conexão Sucedida");
Logger.getS().info_warning("DataSource : " + connection.DataSource);
Logger.getS().info_warning("Banco De Dados : " + connection.Database);
Logger.getS().info_warning("Versão do SQL : " + connection.ServerVersion);
Logger.getS().info_warning("Status : " + connection.State);

{

}

}
else
{

Logger.getS().info_erro("SqlConnection Não foi possivel connectar.");
Logger.getS().info_erro(" Status da Conexão : " + connection.State);


}

}

最佳答案

当您创建新连接时,最初它总是关闭的。然后,您需要打开它。但是,您需要在打开连接之前检查连接是否打开。

此后,在您的情况下,此条件将永远不会true:

if (connection.State == ConnectionState.Open)

此外,您不需要检查连接的状态。如果连接失败,则会抛出异常。您只需打开一个连接并确保它正常工作或抛出异常。

应该是这样的:

try 
{
string connectionString = GetCString();

using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
Logger.getS().info_warning("Conexão Sucedida");
Logger.getS().info_warning("DataSource : " + connection.DataSource);
Logger.getS().info_warning("Banco De Dados : " + connection.Database);
Logger.getS().info_warning("Versão do SQL : " + connection.ServerVersion);
Logger.getS().info_warning("Status : " + connection.State);
}
}
catch (Exception ex)
{
Logger.getS().info_error("SqlConnection Não foi possivel connectar.");
Logger.getS().info_error("SqlConnection exception message: " + ex.Message + "\r\n" + ex.StackTrace);
}

P.S.您可以将 info_errorinfo_warning 等实现为 (string message, params string[] args)并使用String.Format。这可能会更方便:

Logger.getS().info_warning("Versão do SQL: {0}", connection.ServerVersion);

关于c - if SqlConnection C# 检查连接打开、关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32344187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com