20. marts 2003 - 11:06
Der er
15 kommentarer og 1 løsning
Skal hente data fra databaser og sætte ind på ASP-side
Hej Jeg er nybegynder... Jeg skal på min hjemmeside have både et nyhedsmodul og et referencemodul som hentes fra en database. Jeg har gjordt det således: <% Response.Buffer = True Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("nyheder.mdb" & "referencer.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath Sql = "SELECT * FROM nyheder & referencer ORDER BY Dato DESC" Set Record = Con.Execute(Sql) %> Men hvorfor virker det ikke. Det virker nemlig godt nok, når jeg kun henter fra en database-fil: <% Response.Buffer = True Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("nyheder.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath Sql = "SELECT * FROM nyheder ORDER BY Dato DESC" Set Record = Con.Execute(Sql) %> ----- Jeg håber I kan hjælpe mig! Mvh Søren
Annonceindlæg fra Barco
20. marts 2003 - 11:19
#1
Venligst luk dette spm. Du må kun oprette spm's én gang! //>Rune
20. marts 2003 - 11:21
#2
først og fremmest er det stort set altid en ekstrem dårlig idé at arbejde med mere end én database... grunden til at det ikke virker er, at du ikke har én database der hedder ("nyheder.mdb" & "referencer.mdb") og du kan ikke refererer til to database på den måde... du er nødt til at skabe to connections fx; DBPath1 = "DBQ=" & server.mappath("nyheder.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath1 DBPath2 = "DBQ=" & server.mappath("referencer.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath2
20. marts 2003 - 11:23
#3
keyseroze> Dit eksempel vil da ikke virke! -Dine Connection objekter er de samme... DBPath1 = "DBQ=" & server.mappath("nyheder.mdb") Con1.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath1 DBPath2 = "DBQ=" & server.mappath("referencer.mdb") Con2.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath2 Du mener vel sådan ^ //>Rune
20. marts 2003 - 11:29
#4
Så kan du gøre sådan : <% Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("nyheder.mdb" & "referencer.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath Sql = "SELECT Nyheder.Dato, Nyheder.Nyhed, Nyheder.Forfatter, Nyheder.ID, Referencer.ID, Referencer.Dato, Referencer.Reference FROM Nyheder,Referencer" Set Record = Con.Execute(Sql) While Not Record.EOF Response.Write(Record("Reference") & "<br>") Record.MoveNext() Wend %> //>Rune
20. marts 2003 - 11:30
#5
Nej, hov! Sådan her: <% Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("db1.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath Sql = "SELECT Nyheder.Dato, Nyheder.Nyhed, Nyheder.Forfatter, Nyheder.ID, Referencer.ID, Referencer.Dato, Referencer.Reference FROM Nyheder,Referencer" Set Record = Con.Execute(Sql) While Not Record.EOF Response.Write(Record("Reference") & "<br>") Record.MoveNext() Wend %> //>Rune
20. marts 2003 - 11:33
#6
Kan du, Rune, ikke bare maile mig de to databaser sat sammen til én? Det er nok smartest med en database...
20. marts 2003 - 11:34
#7
sol99> Øhh det har jeg da oxo lige gjort! //>Rune
20. marts 2003 - 11:35
#8
Nu er den sendt igen igen! //Rune
20. marts 2003 - 11:35
#9
Okay, det har du gjort. Skal jeg så sætte dette script ind øverst i min asp-fil? <% Set Con = Server.CreateObject("ADODB.Connection") DBPath = "DBQ=" & server.mappath("db1.mdb") Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath Sql = "SELECT Nyheder.Dato, Nyheder.Nyhed, Nyheder.Forfatter, Nyheder.ID, Referencer.ID, Referencer.Dato, Referencer.Reference FROM Nyheder,Referencer" Set Record = Con.Execute(Sql) While Not Record.EOF Response.Write(Record("Reference") & "<br>") Record.MoveNext() Wend %>
20. marts 2003 - 11:36
#10
Well, sæt det ind der hvor du vil ha' udskrevet alle dine referencer... //>Rune
20. marts 2003 - 11:36
#11
Jeg fandt forresten et mail script på din hjemmeside. Kan det bruges til at sende en formular fra en hjemmeside til en mailadresse?
20. marts 2003 - 11:39
#12
Ja... -Hehe, skriv lige i min gæstebog :-) //>Rune
20. marts 2003 - 11:40
#13
Hvad betyder det her, som du skriver sidst i scriptet: While Not Record.EOF Response.Write(Record("Reference") & "<br>") Record.MoveNext() Wend
20. marts 2003 - 11:43
#14
Det udskriver alle din poster i din database...
While Not Record.EOF = Så længe den ikke har nået "End Of File" altså bunden af din databases tabel, skal den udskrive dine Referencer...
Tag en tur ind forbi
www.html.dk/tutorials/asp !
//>Rune
20. marts 2003 - 11:44
#15
Okay, jamen så siger jeg mange TAK. Du får point fra begge de oprette spørgsmål.
20. marts 2003 - 11:45
#16
Fair nok :-) Thx 4 Poinz //>Rune
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser