软件整体性能 为何如此差劲 ? (基于B/S的Windows应用程序)
我和朋友为一家电子公司做了一套 企业管理软件 主要实现 订单,人士,仓储 等等功能 在公司内部局域网测试应用都很正常 但是 将 SQL 数据拷到网上服务器后 速度 很慢 不过数据提取量也很大 但我觉得还是有问题存在
我在程序中做了一个公有类(如下),主要实现联接数据库和执行存储过程,对数据操作我用的全部是存储过程,每一次的数据操作都会调用该类 我想问题可能就出在这里,因为联接过于频繁 ,我也想过建立本地 DataSet 对象然后进行操作,做后更新 ,但是那样的话就会使不同客户端之间的数据产生错误,所以没有这样做, 哪位 大哥 给指点指点? 或者数据库需要做一些什么配置阿 ?、
Imports System.Data.SqlClient
Public Class clsPUBLIC
Dim _Server, _DataBase, _UserID, _Password As String
Dim strConnectionString As String = _
"Server=" & _Server & ";DataBase=" & _DataBase & "; " & _
"User Id=" & _UserID & " ;Password=" & _Password & ""
Public Property sServer() As String
Get
Return _Server
End Get
Set(ByVal Value As String)
_Server = Value
End Set
End Property
Public Property sDataBase() As String
Get
Return _DataBase
End Get
Set(ByVal Value As String)
_DataBase = Value
End Set
End Property
Public Property sUserID() As String
Get
Return _UserID
End Get
Set(ByVal Value As String)
_UserID = Value
End Set
End Property
Public Property sPassword() As String
Get
Return _Password
End Get
Set(ByVal Value As String)
_Password = Value
End Set
End Property
'Dim strConnectionString As String = "server=" & sServer & ";database=" & sDataBase & ";user id=" & sUserID & ";password=" & sPassword & ";"
Dim objConnection As New SqlConnection(strConnectionString)
Private Function funGetCmd(ByVal pmtPars() As SqlParameter, ByVal strSPName As String) _
As SqlCommand
Dim objCmd As New SqlCommand(strSPName, objConnection)
objCmd.CommandType = CommandType.StoredProcedure
' 添加参数集
Dim tmpPar As SqlParameter
If Not pmtPars Is Nothing Then
For Each tmpPar In pmtPars
objCmd.Parameters.Add(tmpPar)
Next
End If
Try
Return objCmd
Catch
Return Nothing
End Try
End Function
'返回 DataSet
Public Function funExecSPds(ByVal pmtPars() As SqlParameter, ByVal strSPName As String) _
As DataSet
Dim objCmd As SqlCommand = funGetCmd(pmtPars, strSPName)
Dim objDAdapter As New SqlDataAdapter(objCmd)
Dim objDSet As New DataSet()
Try
objConnection.Open()
objDAdapter.Fill(objDSet)
Return objDSet
Catch
Return Nothing
Finally
objConnection.Close()
objConnection.Dispose()
End Try
End Function
'返回DataRdader
Public Function funExecSPdr(ByVal pmtPars() As SqlParameter, ByVal strSPName As String) _
As SqlDataReader
Dim objCmd As SqlCommand = funGetCmd(pmtPars, strSPName)
Try
objConnection.Open()
Return objCmd.ExecuteReader()
Catch oe As Exception
Return Nothing
End Try
End Function
'执行存储过程无返回值
Public Sub subExecSPnull(ByVal pmtPars() As SqlParameter, ByVal strSPName As String)
Dim objCmd As SqlCommand = funGetCmd(pmtPars, strSPName)
Try
objConnection.Open()
objCmd.ExecuteNonQuery()
Catch oe As Exception
Finally
objConnection.Close()
objConnection.Dispose()
End Try
End Sub
End Class