Avatar billede soren23hansen Nybegynder
22. oktober 2002 - 16:50 Der er 7 kommentarer og
1 løsning

Data fra side til side (database)

Hej jeg har en side der skal vise nogle varer. Den første side viser nogle varegrupper man kan vælge den næste skal vise hvilke vare der er i den enkelte varegruppe jeg har en database der hedder database med to tabeller "vare" med attributterne "id_vare, vare_navn, id_kategori" og en tabel kategori med atributterne "id_kategori, kategori_navn" der er lavet en forbindelse imellem dem hvor id_kategori fra kategori er fremmedenøgle i vare. Men egenglig tror jeg kun jeg behøver vare da jeg laver nogle direkte kald.
Mit problem ligger i sql sætningen.



<HTML>
<HEAD>
</HEAD>
<BODY>

<A HREF="Visvarer.asp?id_kategori=1">Varegruppe 1</A><BR><BR>
<A HREF="Visvarer.asp?id_kategori=2">Varegruppe 2</A><BR><BR>
<BODY>
<HTML>

------------------------------------------------------

<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%
' Databaseforbindelse
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN

SQL = "SELECT * FROM Vare WHERE id_kategori = '" & id_katagori & "'"
Set objRS = objConn.Execute(”sql”)


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede eagleeye Praktikant
22. oktober 2002 - 16:56 #1
du skal lige havde denne linie med:

id_katagori = Request.QueryString("id_katagori")

Før denne linie
SQL = "SELECT * FROM Vare WHERE id_kategori = '" & id_katagori & "'"
Avatar billede eagleeye Praktikant
22. oktober 2002 - 16:57 #2
Hvis id_katagori i databasen er defineret som tal skal SQL sætningen se sådan ud, uden ' omkring tallet:


SQL = "SELECT * FROM Vare WHERE id_kategori = " & id_katagori
Avatar billede soren23hansen Nybegynder
22. oktober 2002 - 17:34 #3
Jeg har prøvet hvad du sage også at ændre det til tekst og bruge det gamle men det virker ikke den kommer med:
Error Type:
Microsoft VBScript compilation (0x800A0408)
Invalid character
/webtest/la/Visvarer.asp, line 17, column 28
Set objRS = objConn.Execute(”sql”)
Avatar billede soren23hansen Nybegynder
22. oktober 2002 - 17:40 #4
Koden ser nu sådan her ud:
<html>
<title>Hente data fra database</title>
<head>
</head>
<body>
<%

id_kategori = Request.QueryString("id_kategori")

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("database.mdb")
Conn.Open DSN

SQL = "SELECT * FROM Vare WHERE id_kategori = " & id_kategori"                                                                                                                                                                                                                       
Set objRS = objConn.Execute(”sql”)


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
</body>
</html>
Avatar billede eagleeye Praktikant
22. oktober 2002 - 17:42 #5
der skal ikke være return i SQL linien:

SQL = "SELECT * FROM Vare WHERE id_kategori = " & id_kategori" 


Din connection hedder Conn og ikke objConn som i denne linie:

Set objRS = objConn.Execute(”sql”)

Ret til:
Set objRS = Conn.Execute(”sql”)
Avatar billede eagleeye Praktikant
22. oktober 2002 - 17:42 #6
den skal være sådan her SQL linien:


SQL = "SELECT * FROM Vare WHERE id_kategori = " & id_kategori
Avatar billede soren23hansen Nybegynder
22. oktober 2002 - 19:27 #7
Det virker stadig ikke men du får point alligevel.
Avatar billede eagleeye Praktikant
22. oktober 2002 - 20:36 #8
ok men der er også kommer nogle under " ind i denne linie
Set objRS = Conn.Execute(”sql”)

Prøv med denne:
Set objRS = Conn.Execute("sql")
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester