【发布时间】:2017-06-10 14:18:19
【问题描述】:
我有一个 Windows 应用程序,主屏幕上有一个开始按钮。一旦我启动 exe 并点击开始按钮,就会打开与 SQL 数据库的连接。我不会在任何时候明确关闭连接,除非它自行关闭,从而我重新建立与数据库的连接。我的问题是这会导致任何性能问题吗?我对此表示怀疑,因为在任何时候都只有一个连接是打开的。请指教。提前致谢。
代码如下:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 MyBase.Load
Timer1.Interval = 30000
fnDbConnect()
lblMessage.Text = ""
End Sub
Private Sub btnStartSMS_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) 处理 btnStartSMS.Click
btnStartSMS.BackColor = Color.Red
If ObjCn.State = ConnectionState.Open Then
Timer1.Enabled = True
Else
If fnDbConnect() Then
Timer1.Enabled = True
Else
MsgBox("An error occured while connecting to database. Please try later", MsgBoxStyle.Critical)
End If
End If
End Sub
并且 ObjCn.State = ConnectionState.Closed 在应用程序的任何地方都被检查并且它是 True,然后调用 fnDbConnect()。
【问题讨论】:
-
这取决于有多少客户端应用程序尝试同时连接到您的服务器。此外,如果您不使用连接,它将不可避免地超时,因此您需要重新连接。您需要准确考虑为什么要这样做。
-
除非它自己关闭 - 这可能很难检测,每个与数据库交互的调用都需要处理。
标签: .net sql-server vb.net windows