我正在使用vb.net在窗口项目上工作。在我的项目的每种形式上,我在表单加载上打开了Microsoft Access数据库连接,并在Form Closing事件上关闭。所以我想问这是在每个表格上打开/关闭数据库连接的好习惯。
考虑以下内容:
- DB连接可用于更新或仅查询?
- 有多少用户可以打开表单并同时连接到数据库?
如果用户很多并且他们更新DB,我认为在打开表单时保持连接不是一个好主意。通常,您可以在打开时查询一些数据,然后立即关闭连接,而该数据也相同以进行更新。
每次执行查询时,最好创建/打开/关闭DB连接。
请注意,通过创建/打开/关闭,我的意思是实例化SqlConnection
的新实例。
在Hood Ado.net下,将仅开放一次与数据库服务器的实际物理连接,并在每次通过代码打开新连接时重新使用它。
因此,每个查询都应使用自己的新连接执行
Using connection As SqlConnection = new SqlConnection(yourConnectionString)
Using command As SqlCommand = new SqlCommand(sqlQuery, connection)
return command.ExecuteNonQuery();
End Using
End Using
如果您在Form_Load
中打开连接并在Form_Closing
中将其关闭,那么在打开表单时抛出异常时,您的连接将保持打开。
通过减少代码中"打开"连接的时间,您可以使用Using
关键字来处理这种情况,并避免使用"丑陋"的try .. catch
到处
我希望您在查询中使用SQL参数(SqlParameter
(。