hifiman Skrevet 20. april 2006 Del Skrevet 20. april 2006 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
backup Skrevet 21. april 2006 Del Skrevet 21. april 2006 Iallfall en skrivefeil her: Response.Write "<dt>Navn:</dt><dd>" & rs("Ttile") & " " & rs("Year") & "</dd>" Riktig: Response.Write "<dt>Navn:</dt><dd>" & rs("Title") & " " & rs("Year") & "</dd>" Lenke til kommentar
hifiman Skrevet 21. april 2006 Forfatter Del Skrevet 21. april 2006 Har nå rettet opp alle skrivefeil men får fortsatt denne erroren: Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Id ='. /person.asp, line 16 Lenke til kommentar
backup Skrevet 21. april 2006 Del Skrevet 21. april 2006 prøv denne: strSQL = "Select * From albums Where Id = '" & Request.Querystring("id") & "'" Lenke til kommentar
hifiman Skrevet 21. april 2006 Forfatter Del Skrevet 21. april 2006 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
backup Skrevet 21. april 2006 Del Skrevet 21. april 2006 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
hifiman Skrevet 21. april 2006 Forfatter Del Skrevet 21. april 2006 (endret) 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 21. april 2006 av hifiman Lenke til kommentar
backup Skrevet 21. april 2006 Del Skrevet 21. april 2006 (endret) 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. Endret 21. april 2006 av backup Lenke til kommentar
hifiman Skrevet 21. april 2006 Forfatter Del Skrevet 21. april 2006 (endret) 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 21. april 2006 av hifiman Lenke til kommentar
backup Skrevet 22. april 2006 Del Skrevet 22. april 2006 (endret) 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 22. april 2006 av backup Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå