Hej Kasper,
Først og fremmest får du en fejl når du laver et database (ADO) objekt med
samme navn to gange i træk. For det andet er det dumt at lave flere
databaseobjekter. På sider hvor jeg skal bruge et databaseobject laver jeg
en include i toppen af dokumentet som laver et DB-objekt. Dette objekt
bruger jeg så alle steder på siden (også i include filer). Du kan jo sagtens
bruge et databaseobjekt i include-filer som optræder senere i samme fil.
Betragt nedenstående eksempel, hvor filen "db_open.asp" fra biblioteket
"includes" bliver åbnet i starten af dokumentet. I denne fil laves et
databaseobjekt med navnet dbConn. Det vi gerne vil er f.eks. at hente
bynavnet i en anden tabel - udfra det postnummer der står i "medarbejdere"
tabellen:
<!-- #INCLUDE FILE="includes/db_open.asp" -->
<%
' Vi henter medarbejderne ud
SQL = "SELECT postnummer, navn FROM medarbejdere"
set RS = dbConn.Execute(SQL)
Do While not RS.eof
Response.Write RS("navn") & " bor i "
' Vi finder bynavnet udfra postnummeret
SQL = "SELECT bynavn FROM byer WHERE postnummer=" & RS("postnummer")
set postnummerRS = dbConn.Execute(SQL)
If not postnummerRS.eof then
Response.Write postnummerRS("bynavn")
End if
set postnummerRS = Nothing
Response.Write "<br>" & vbcrlf
RS.MoveNext
Loop
set RS = Nothing
%>
<!-- #INCLUDE FILE="includes/db_open.asp" -->
Selve SQL søgningen kan godt laves smartere med en INNER JOIN men
ovenstående er bare for at skitsere at du godt kan bruge samme
databaseobjekt til forskellige søgninger.
Ovennævnte kode er ikke testet - men et "skud" fra hoften... Hvis du har
flere spørgsmål er du velkommen til at skrive.
Mvh,
Tony Lorentzen
tony@lorentzen.com
"Kasper Kyndsberg" <nospam@kyndsberg.dk> wrote in message
news:a3825p$rki$1@sunsite.dk...
> Hej i gruppen
>
> Jeg forsøger at lave min side om, således alt er basseret på Content
> management, men har et lille problem. Jeg har en del includefiler på min
> side af vedligeholdelsesmæssige årsager, som har en db connection.
Problemet
> opstår i det øjeblik jeg har en includefil med en db connection inden den
> andne db connection er afsluttet
>
> Eks.:
>
> Set objConn = Server.CreateObject("ADODB.Connection")
> strSQL = "Select * From Indhold Where Sidenavn = 'Forside'"
> set rs = objConn.execute(strSQL)
>
> Response.Write "[Indhold af database]"
>
> [...]
>
> Set objConn = Server.CreateObject("ADODB.Connection")
> strSQL = "select top 5 * from Nyheder ORDER BY id DESC"
> set rs = objConn.execute(strSQL)
>
> Do Until rs.EOF
>
> Response.Write "[Indholdet af nyhedstabel]"
> rs.MoveNext
> Loop
>
> 'Luk forbindelse til Nyheder
> objConn.Close
> Set objConn = Nothing
>
> [Mere indhold fra Indholdstabellen]
>
> 'Luk Indholdstabellen
> objConn.Close
> Set objConn = Nothing
>
> Problemet er endvidere, at jeg i min praktiske kode, bliver nødt til at
> afslutte asp kodeblokken når jeg skal åbne forbindelsen til min
nyhedstabel,
> idet den lægger i en inkluceret fil.
>
> Kan man på nogen måde køre en forbindelse inden en anden er
færdigafviklet?
>
> --
> /Kasper
>
http://www.kyndsberg.dk
>