测试SQL连接字符串可用性的最有效方法
本文关键字:有效 方法 可用性 SQL 连接 字符串 测试 | 更新日期: 2023-09-27 18:25:02
我有这段代码,我试图让它测试SQL字符串连接,但我不知道如何处理connection.Open = true
的部分,你能帮我解决这个问题吗?非常感谢您抽出时间。
private void button1_Click(object sender, EventArgs e)
{
try
{
using (SqlConnection connection = new SqlConnection("Data Source='" + textBox1.Text + "';Initial Catalog='" + textBox2.Text + "';User ID='" + textBox3.Text + "';Password='" + textBox4.Text + "'"))
{
try
{
connection.Open();
if (connection.Open == true) // if connection.Open was successful
{
MessageBox.Show("You have been successfully connected to the database!");
}
else
{
MessageBox.Show("Connection failed.");
}
}
catch (SqlException) { }
}
}
catch (Exception ex)
{
MessageBox.Show("Chyba v přihlášení: " + ex);
}
finally
{
}
}
它说:"不能设计‘打开’,因为它是一个‘方法组’。"我知道这个代码可能非常糟糕,但我需要以某种方式处理它,不知道什么是正确的方法。非常感谢。
对于未打开的连接,这实际上是无效的:
using (SqlConnection connection = new SqlConnection("Data Source='" + textBox1.Text + "';Initial Catalog='" + textBox2.Text + "';User ID='" + textBox3.Text + "';Password='" + textBox4.Text + "'"))
{
connection.Open();
if (connection.State == ConnectionState.Open)
{
MessageBox.Show("Spojení s databázi problěhlo úspěšně.");
}
connection.Close();
if (connection.State == ConnectionState.Closed)
{
MessageBox.Show("Spojení selhalo");
}
}
您使用connection.Open = true
就像它是一个属性一样。
这是一种方法:connection.Open()
使用ConnectionState枚举来确定连接是否打开,例如:
connection.State == ConnectionState.Open
您需要检查它是否被以下代码打开:
if(connection.State == ConnectionState.Open)
{
...
}