Gå til innhold

Problemer med min første asp og database side!


Anbefalte innlegg

Hei!

 

har nå laget min først side i asp og samtidg laget meg en database i access

 

dette har jeg gjort:

 

Laget meg følgende tabell i access som heter albums:

 

denne inneholder 5 poster:

TitleID (auto primær nøkkel)

Title

Year

Country

Tracklist

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

første side funker som den skal men når en bruker trykker på for eks albumet "high voltage" så skal brukern få informasjon om dette albumet altså en trackliste,hvordan i all verden skal jeg få til det. har prøvd forskjellig metoder på dette men ender opp kun med en error, jeg er helt fersk ibåde access og asp.

her ligger min side http://hifiman.somee.com/liste.asp , prøv å trykk på et album så ser dere hva som skjer.

 

her er koden til den andre asp fila som skal dukke opp når brukern trykker på et album:

 

<html>

<title>Hente data fra database</title>

<head>

</head>

<body>

<dl>

<%

Set Conn = Server.CreateObject("ADODB.Connection")

DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "

DSN = DSN & "DBQ=" & Server.MapPath ("discography.mdb")

Conn.Open DSN

 

strSQL = "Select * From albums Where Id = " & Request.Querystring("id")

Set rs = Conn.Execute(strSQL)

 

Response.Write "<dt>Navn:</dt><dd>" & rs("Ttile") & " " & rs("Year") & "</dd>"

Response.Write "<dt>Country:</dt><dd>" & rs("Country") & "</dd>"

 

Conn.Close

Set Conn = Nothing

%>

</dl>

<p><a href="liste.asp">Retur til listen</a></p>

</body>

</html>

 

Takk for all hjelp som jeg kan få

Lenke til kommentar
Videoannonse
Annonse

lei.no , har prøvd det meste men fortsatt så jeg får jeg erroren:

 

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

 

[Microsoft][ODBC Microsoft Access Driver] Syntax error in string in query expression 'TitleID = ''.

 

/person.asp, line 17

 

har prøvd alt som dere har skrevet i forumet.

Lenke til kommentar

strSQL = "Select * From albums Where Id = " & Request.Querystring("id")

 

Her står det at du søker på et felt som heter id (Where id = ), men i din liste: TitleID (auto primær nøkkel) Title Year Country Tracklist er der jo ikke noe felt som heter id. Legg inn i databasen et felt som heter id, legg inn data, og du er på rett vei. Ikke bruk primærnøkkelen som søkebegrep!

;)

Lenke til kommentar

Tusen takk..har du gidda å gitt meg en pekepinne på hvilket oppesette jeg skal ha på databasen, samtidig skriv ned hva som skal stå i asp fila ?

 

Testa å forandra navne på titleid til ID men da fikk jeg følgende error:

 

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

 

person.asp :

 

<html>

<title>Hente data fra database</title>

<head>

</head>

<body>

<dl>

<%

' 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 ("discography.mdb")

Conn.Open DSN

 

' Hent fra databasen afhængig af værdien id fra URL

 

strSQL = "Select * From albums Where Id = '" & Request.Querystring("id") & "'"

Set rs = Conn.Execute(strSQL)

 

' Skriv personens data

Response.Write "<dt>Navn:</dt><dd>" & rs("Title") & " " & rs("Year") & "</dd>"

Response.Write "<dt>Country:</dt><dd>" & rs("Country") & "</dd>"

Response.write sql

 

Conn.Close

Set Conn = Nothing

%>

</dl>

<p><a href="liste.asp">Retur til listen</a></p>

</body>

</html>

Endret av hifiman
Lenke til kommentar
Gjør som jeg sa! Ikke bruk primærnøkkelen som søkebegrep, legg inn et nytt felt som heter id i databasen, legg inn data i det og bruk så det du allerede har laga. ;)

 

Edit: Hvilken web-server bruker du?

5961660[/snapback]

 

Når har jeg laga et felt som id og skrevet noe i det , men hvordan fjerner jeg primærnøkkelen som søkebegrep

 

forresten error:

 

error '80020009'

 

/person.asp, line 20

 

bruker en gratis webserver som heter somee.com

Endret av hifiman
Lenke til kommentar

Ok, du har altså nå: TitleID som primærnøkkel og satt som AutoNumber og feltet Id som Text. Nå lar du TitleID være som den er, IKKE fjern den, men heller IKKE bruk den til å søke på, men bruk Id f.eks. slik som du allerede har gjort:

 

strSQL = "Select * From albums Where Id = '" & Request.Querystring("id") & "'"

 

Hvis du egentlig vil søke på TitleID, da må du legge det som står i TitleID, dvs autonummereringa: 0,1,2,3,4, etc inn i Id, gjør dette manuelt for å teste. Så lager du script kode som oppdaterer Id hver gang du legger inn en ny linje i tabellen, fordi da øker jo TilteID automatisk med +1.

 

I formen med action = get, regner jeg med at du selvsagt har en tekstboks med name = "id" siden det i Request.Querystring("id") står navnet id. ;)

Endret av backup
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...