Avatar billede mini41 Nybegynder
01. september 2003 - 08:58 Der er 11 kommentarer og
1 løsning

fejl i kode.

Jeg har en fejl i nedenstående kode:

Scriptet ser ud til at virke, men der udskrives en forkert pris (jeg tror den tager prisen for den første post i db'en)

Scriptet kan ses på www.comgros.dk/test.asp

prøv feks. at vælge :
asus A1000B DJ Cover pris er 156,45
men den tager prisen for en asus A1000B Display 13,3"

Hvorfor ?




<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=d:\websider\global\comgrosinfo.dk\comgrosinfo.dk\db\notebook.mdb"
Conn.Open DSN

if request.servervariables("REQUEST_METHOD") = "POST" then
  typen = request.form("typen")
Set rs = Conn.execute ("SELECT * FROM notebook WHERE typen = '" & typen &"'")
  pris = rs("pris")
end if
%>

<%
sql="select * from notebook order by model"
set record=conn.execute(sql)


%>
<form method="POST" action="">
<select MULTIPLE name="typen" onChange="this.form.submit()" style="background-color: #ffffff"; style="font:bold 10px Ariel, sans-serif";><%do while not record.eof%>

<option value="<%=record("typen")%>"><%=record("model")&(" ")&record("typen")&(" ")&record("part")%>
<%
record.movenext
loop%></option>


</select>
</form>

 
 
<p><%=pris%>
Avatar billede cesil Nybegynder
01. september 2003 - 09:29 #1
prøv det her

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=d:\websider\global\comgrosinfo.dk\comgrosinfo.dk\db\notebook.mdb"
Conn.Open DSN

if request.servervariables("REQUEST_METHOD") = "POST" then
  typen = request.form("typen")
Set rs = Conn.execute ("SELECT * FROM notebook WHERE typen = '" & typen &"'")
  pris = rs("pris")
end if
%>

<%
sql="select * from notebook order by model"
set record=conn.execute(sql)


%>
<form method="POST" action="">
<select MULTIPLE name="typen" onChange="this.form.submit()" style="background-color: #ffffff"; style="font:bold 10px Ariel, sans-serif";>

<%do while not record.eof%>
    <option value="<%=record("typen")%>"><%=record("model")&(" ")&record("typen")&(" ")&record("part")%></option>
<%
record.movenext
loop%>


</select>
</form>

 
 
<p><%=pris%>
Avatar billede mini41 Nybegynder
01. september 2003 - 09:50 #2
Det er samme resultat, desværre :)
Avatar billede mini41 Nybegynder
01. september 2003 - 09:52 #3
Jeg kan nu heller ikke lige se hvor forskellen er ?
Avatar billede cesil Nybegynder
01. september 2003 - 09:55 #4
</option>
er kommet med i dit loop
Avatar billede cesil Nybegynder
01. september 2003 - 09:57 #5
jeg kan ikke se nogle fejl i koden. Prøv og check din database og se om priserne passer til den type du spørger med.
Avatar billede mini41 Nybegynder
01. september 2003 - 11:45 #6
Der er ikke fejl i db'en, den har jeg checket.

Men jeg har opdaget hvad der er galt:
Hvis jeg har 5 typer (typen) der hedder asus henter den ALTID prisen for den første.
Avatar billede cesil Nybegynder
01. september 2003 - 11:58 #7
okay, det forklarer jo en del. Din type skal være entydig.
Avatar billede mini41 Nybegynder
01. september 2003 - 12:03 #8
Har du en løsning på problemet ?
Avatar billede cesil Nybegynder
01. september 2003 - 12:11 #9
prøv med de to linier her. Det jeg har gjort er bare at ændre value i den select til id'en og i den sql spørge på id istedet for type.
Din id er vel fortløbende?

<option value="<%=record("id")%>"><%=record("model")&(" ")&record("typen")&(" ")&record("part")%></option>

Set rs = Conn.execute ("SELECT * FROM notebook WHERE id = '" & typen &"'")
Avatar billede mini41 Nybegynder
01. september 2003 - 12:26 #10
Det giver følgende fejl :

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

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

/test.asp, line 9


Linie 9 = Set rs = Conn.execute ("SELECT * FROM notebook WHERE id = '" & typen &"'")
Avatar billede cesil Nybegynder
01. september 2003 - 12:27 #11
sådan der
Set rs = Conn.execute ("SELECT * FROM notebook WHERE id = " & typen)
Avatar billede mini41 Nybegynder
01. september 2003 - 12:36 #12
Jeps det virker :)

Tusind tak for hjælpen.

Jeg et par spørgsmål mere, hvis du har tid.
Jeg kan evt. oprette et nyt spørgsmål.
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