Avatar billede klaaes Nybegynder
26. februar 2007 - 13:07 Der er 18 kommentarer og
1 løsning

Fejl i kode - Simpel ASP

Hej,

Jeg kan ikke få følgende meget simple kode til at fungere:

<%
Set Conn = Server.Createobject("ADODB.Connection")

'--- Database forbindelse ---
strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=psw;" &_
"Data Source="& Server.Mappath("../log/tilbud.mdb") & ";"
Conn.Open strDSN

'--- SQL forspøgelse ---
Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer like '" & Request.Form("nummer") & "'")

strRedir = "<script language='javascript'> location.href='http://www.domaene.dk/product.asp?product=" & RS("produktnummer") & "&lang=am'; </script>"
Response.write "" & strRedir & ""
 
RS.close
Conn.Close
Set RS = nothing
Set Conn = nothing
%>

Et tilbudsnummer bliver postet fra en formular.
Der skal redirectes til http://www.domaene.dk/product.asp?product=" & RS("produktnummer") & "&lang=am - hvor der skal indsættes det produktnummer der svarer til det postede tilbudsnummer.

Håber på hurtig hjælp.
Avatar billede kalp Novice
26. februar 2007 - 13:15 #1
Jeg har personligt ikke forstået det du spørger om.. hvad dit problem er.
Er det det sidste link eller?
eller er det din SQL der fejler?
Du benytter "Like" i din sql og ikke =

men du kan jo sige hvad problemet af så kan jeg svare.
Avatar billede klaaes Nybegynder
26. februar 2007 - 13:21 #2
Der bliver postet et produktnummer.

Der er en database kaldet tilbud.mdb, der indeholder tilbudsnumre og produktnumre.

Når der modtages et tilbudsnummer, skal man sendes til siden http://www.domaene.dk/product.asp?product=" & RS("produktnummer") & "&lang=am

Efter product= skal der indsættes det produktnummer der svarer til tilbudsnummeret.

Eksempel:
Databasen indeholder en række med følgende: tilbudsnummer: 0016, produktnummer: 1926

Når man sender 0016 til koden, skal man redirectes til: http://www.domaene.dk/product.asp?product=1926&lang=am
Avatar billede klaaes Nybegynder
26. februar 2007 - 13:22 #3
Kan se at jeg lægger ud med en tastefejl.
Der postes et tilbudsnummer - ikke et produktnummer!
Avatar billede kalp Novice
26. februar 2007 - 13:25 #4
man skal altså ud fra tilbudsnummeret finde produkt nummeret?

så prøv at rette i din sql.

Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer = '" & Request.Form("nummer") & "'")

eller

Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer = '" & Request.QueryString("nummer") & "'")
Avatar billede kalp Novice
26. februar 2007 - 13:26 #5
ps. er tilbuds nummer i din DB af datatypen tekst eller tal?
hvis det er tal skal du forsøge disse istedet.

Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer = " & Request.Form("nummer") & "")

eller

Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer = " & Request.QueryString("nummer") & "")

eller

Set RS = Conn.Execute("SELECT produktnummer FROM tilbud WHERE tilbudsnummer like " & Request.Form("nummer") & "")
Avatar billede klaaes Nybegynder
26. februar 2007 - 13:29 #6
Den godtager din Set RS (datatypen er tal).

Men i strRedir = "<...... får jeg fejl 80020009
Avatar billede kalp Novice
26. februar 2007 - 13:33 #7
strRedir = "<script language='javascript'> location.href='http://www.domaene.dk/product.asp?product=" & RS("produktnummer") & "&lang=am'; </script>"
Response.write (strRedir)
Avatar billede kalp Novice
26. februar 2007 - 13:48 #8
strRedir = "<script language='javascript'> location.href='http://www.domaene.dk/product.asp?product=" & CStr(RS("produktnummer")) & "&lang=am'; </script>"
Response.write (strRedir)

sorry.. læste ikke fejlen.. men begge linjer skulle rettes:)
Avatar billede klaaes Nybegynder
26. februar 2007 - 13:53 #9
Jeg er bange for at jeg får den samme fejl.

Hvad betyder det fejlnummer?
Avatar billede kalp Novice
26. februar 2007 - 14:03 #10
hmm.. prøv at udskrive noget andet en produktnummer..
en anden kolonne
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:16 #11
Jeg bliver ved med at få fejl.

Har prøvet Response.write CStr(RS("produktnummer"))
Og jeg får den samme fejl.
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:17 #12
Har også prøvet at udskrive tilbudsnummer
Avatar billede kalp Novice
26. februar 2007 - 14:21 #13
hvis det ikke virker med

response.write (RS("produktnummer") )

altså uden at det andet med javascript så ved jeg ikke hvad det er for en type fejl.. måske noget DB..

eller det er noget DB hvis du ikke looper dit RS igennem (men antager at det gør du men bare ikke noget du har pastet herind)
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:25 #14
Jeg looper ikke. - Hele koden er her på siden.

Fejlen opstår helt tydeligt når der forbindes til databasen. - Jeg kan bare ikke se hvad der skulle være galt. Der skal bare slås op i en tabel... Det er jo ret simpelt.
Avatar billede kalp Novice
26. februar 2007 - 14:30 #15
ja men det ligner et eller andet db problem ved dog bare ikke hvad desværre:S
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:35 #16
Hov.. tror jeg har dummet mig..

Det er vist ikke kun her på siden, jeg bytter om på produktnummer og tilbudsnummer.
Har vist skrevet det forkert ind i databasen..

Tester lige
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:38 #17
Den bytter om på tilbud og produkt i denne linje når jeg indsætter en række:

sql="INSERT into tilbud (tilbudsnummer, produktnummer) VALUES ('" & Request.Form("nummer") & "', '" & Request.Form("pnummer") & "')"

Jeg troede at den første værdi blev sat ind i det første felt, men det gør den åbenbart ikke.
Avatar billede klaaes Nybegynder
26. februar 2007 - 14:44 #18
Hmm.. Jeg tror simpelthen jeg har byttet om på de to, da jeg oprettede en række.. Nu har jeg byttet om på dem igen og det virker som det skal.

Men min kode havde ikke virket uden dine rettelser, så du kan lige lave et svar.

Tak for din tid.
Avatar billede kalp Novice
26. februar 2007 - 14:45 #19
Det sker:)
og ingen årsag:)
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