webForumDet fria alternativet
Logga in / Bli medlem

ASP, OOP och VB Script Classer???

ASP

2 svar · 190 visningar · startad av PatrikB

Medlem sedan mars 20002 836 inlägg
Trådstart#1

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

Medlem sedan feb. 20001 590 inlägg
#2

med tanke på urvalet 3 + 5 poster tror jag inte det kommer att vara någon större skillnad, med det sättet du har.

Undrar dock om adodb.recordset inte är den största bromsklossen.

Först hämtar du alla poster från tabellen och sen sållar ut de 3 posterna.
(hela tabellen finns i recordsetet)

Mot att bara hämta de tre posterna.
(bara tre poster finns i recordsetet)

Här finns prestanda att hämta, du behöver inte lagra hela tabellen i onödan.

Inte funderat på att försöka köra ett enda SQL uttryck?

/T

Medlem sedan mars 20002 836 inlägg
#3

ok ... sql utrycken stämmer inte ......

allt var bara ett exempel skrivet från tomma intet så att säga .... det som var intressant e om man ska baka in all databas hantering inne i varje respektive class eller om man ska ha en databas class som hanterar all databashantering och sedan anger man vilken tex connection som ska användas i varje annan class, sen hur man hämtar recsetet e inte intressant i detta läge ...

fast nu lät det än snurrigare än tidigare men hoppas att ni förstår vad jag menar =O

cya,

266 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)