Sitter och labbar med VB Script Classer och undrar hur man på ett effektivt sätt ska koda klasserna så att man slipper initiera adodb.connection, adodb.recordset osv. flera ggr på en sida om man har tex en nyhetsklass, visa senaste inlägg i ett forumklassetc på en sida.
Är det dåligt att först initiera databas classen sedan skicka in de metoder man vill använda från den, tex hämtning av recsets m.m, i de andra klasserna som behöver info från databasen.
Tex:
Dim objDatabase ' As clsDataClass
Dim objRS ' As clsDataClass.GetRS
Dim objNews ' As clsNewsClass
Dim objForum ' As clsForumClass
Dim strSQLn ' As String
Dim strSQLf ' As String
Set objDatabase = New clsDataClass
objDatabase.ConnectionString(strDBQ)
Set objNews = New clsNewsClass
strSQLn = "SELECT * FROM TBL_NEWS"
Set objRSn = objDatabase.GetRS(strSQLn)
objNews.ShowLast(3, objRSn)
strSQLf = "SELECT * FROM TBL_MESSAGES"
Set objRSf = objDatabase.GetRS(strSQLf)
objForum.ShowLast(5, objRSf)
Set objNews = Nothing
Set objForum = Nothing
Set objRS = Nothing
Set objDatabase = Nothing
Eller ska man "baka" in all databas hantering i varje enskild klass vilket skulle sänka prestanda rejält eftersom initieringarna för databas objektet(öppna dtabas och stänga), skulle ske fler ggr, eller e jag helt ute och cyklar eller ska man ta den prestanda förlusten?
cya
------------------
Private Function OutPut(ByRef sString)
OutPut = "Who gives ..." & sString
End Function
[Redigerat av PatrikB den 26 jan 2001]