最有效的方法来测试SQL连接字符串的可用性
我有这个代码,我试图让它测试SQL字符串连接,但我不知道如何处理connection.Open = true
部分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) { ... }
- 从外部配置文件设置的log4net不起作用
- 多个可配置的FileSystemWatcher方法
- 从带有路径的资源文件加载PictureBox图像(第3部分)
- 无法将类型’System.Collections.Generic.List ‘隐式转换为’System.Linq.IQueryable ‘
- AuthenticationResult.IsSuccessful开始为谷歌返回false
- 无法将DBNull.Value强制转换为“System.DateTime”。 请使用可空类型
- 数据绑定似乎没有刷新
- 创建仅包含月和日的日期时间,不包括年份
- 如果网格较小,则调整DataGridView的列以填充可用空间,并在网格大于可用空间的情况下使用滚动