When I change someone's code, there is a middle tier data access class like this:

public Class DATAACCESS

Dim objConn As New SQLConnection(Connectstring)
..................................

Public Function OpenDataBase() As Boolean
objConn.Open()
End Function
public Function GetDataSet(ByVal strSQL As String) As DataSet
...........
end function
.......
end class

Then in Window presentation tier, whenever there is a need for data, the Code is :
dim DA as NEW DATAACCESS
DA.OpenDataBase
myDS= DA.GetDataSet(mySQL)

The program now runs very slow. I am wondering if SQLconnection in DATAACCESS class is part of the problem. For frequent data access cases, how to define middle dataaccess class to get efficiency?

Thanks for help