【发布时间】:2021-06-13 01:41:16
【问题描述】:
我需要一种方法来让我的 MSaccess 数据库在整个应用程序操作过程中保持打开状态,而不是在每次输入数据时打开和关闭。
目前Dim provider As String Dim dataFile As String Dim connString As String Dim myConnection As OleDbConnection = New OleDbConnection Dim cmd As New OleDbCommand
在每种形式中都是公开的。并且在私有类上声明了以下内容
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
dataFile = "C:\Program Files (x86)\SACCO\SACCO_DB.accdb"
connString = provider & dataFile
myConnection.Open()
Dim str As String
str = "INSERT INTO STAFF([ID_NO],[FULL_NAME],[EMAIL],[PASSWORD]) Values(?,?,?,?)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
这会使我的应用程序变慢。请有人指导我如何在启动时保持数据库打开并在退出时关闭。
【问题讨论】:
-
首先让我们退后一步...为什么要使用 MS Access 作为应用程序的后端?它本身主要设计为单用户桌面数据库平台,或者作为 SQL Server 数据库之类的前端。它通常不适合作为另一个应用程序的后端。您可以为此选择更好的选择。
-
您如何确定这确实使您的应用程序变慢了?
-
如果花费的时间超过 0.1 秒,那么很可能是其他原因导致您的应用程序变慢。 Measure app performance in Visual Studio 可以帮助您检查瓶颈在哪里。
-
每次需要访问数据时打开和关闭连接可能是最佳实践。毕竟 Connection 实现了 IDisposable ,这是一个公平的迹象,表明它应该有一个非常短的生命周期。正如其他人所建议的那样,如果保持这样的连接会导致足够的延迟甚至可以注意到,那么还有其他事情在起作用。
-
为什么不使用 id 的自增字段?
标签: vb.net ms-access-2010