Avatar billede riishoj Nybegynder
24. april 2002 - 22:04 Der er 8 kommentarer og
1 løsning

Tilføje kolonne

Jeg har i nedenstående tilføjet et felt "Forhandler" i tabellen biler. I modsætning til de andre felter, skal man ikke kunne søge på Forhandler. Det skal bare komme sammen med de andre resultater. Sådan som jeg har gjort det virker ikke. Kan nogen hjælpe?

<% Response.Buffer = True %>
<html><head>
<title>Søgeresultat</title>
</head><body>
<center>
<%
' Henter værdien fra search2.htm
strBilmaerke = Trim(Request.Form("Bilmaerke"))
strModel = Trim(Request.Form("Model"))
strAargang = Trim(Request.Form("Aargang"))
strKm = Trim(Request.Form("Km"))
strPris = Trim(Request.Form("Pris"))

' Opbygger en dynamisk SQL streng
strSQL = "SELECT ID, Bilmaerke, Model, Aargang, Km , Pris , Forhandler FROM biler WHERE"
strSQL = strSQL & " (Bilmaerke LIKE '%" & strBilmaerke & "%')"
strSQL = strSQL & " AND (Model LIKE '%" & strModel & "%')"
strSQL = strSQL & " AND (Aargang LIKE '%" & strAargang & "%')"
strSQL = strSQL & " AND (Km BETWEEN " & strKm & ")"
strSQL = strSQL & " AND (Pris BETWEEN " & strPris & ")"

' Skaber DSN forbindelse til DBen
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=riishojwebsoftdkdsn"


' Skaber et recordset udfra SQL strengen
Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
    ' Hvis der er fundet poster på søgningen
    Response.Write "<h4 align=center><font face=Verdana>Her er resultatet af din søgning</font></h4><hr><br>"
    Response.Write "<table border=0>"
   
    Response.Write "<tr bgcolor=blue><th ><font color=white face=verdana size=2>Bilmærke</font></th><th>Model</th><th>Årgang</th><th>Km</th><th>Pris</th><th>Forhandler</th></tr>"
    Do While Not rs.EOF
      Response.Write "<tr bgcolor=red><td><font color=white>" & rs("Bilmaerke") & "</font></td>"
        Response.Write "<td>" & rs("Model") & "</td>"
        Response.Write "<td>" & rs("Aargang") & "</td>"
        Response.Write "<td>" & rs("Km") & "</td>"
        Response.Write "<td>" & rs("Pris") & "</td>"
        Response.Write "<td>" & rs("Forhandler") & "</td></tr>"


        rs.MoveNext
    Loop
    Response.Write "</table>"
Else
    ' Hvis der ikke er fundet poster på søgningen
    Response.Write "<p>Der er ikke fundet noget på denne søgning</p>"
End If

' Rydder op efter os
myConn.Close
Set myConn = Nothing
%>


</center>


</body>

</html>
Avatar billede eagleeye Praktikant
24. april 2002 - 22:37 #1
Virker ikke... Får du en fejl eller bare tomme celler?

Hvis du ikke har lavet data i kolonnen Forhandler vil det give en tom celle i tabellen.
Avatar billede riishoj Nybegynder
24. april 2002 - 22:40 #2
Jeg har data i kolonnen. Får følgende fejl

ADODB.Recordset.1 error '80004005'

SQLState: 07001
Native Error Code: -3010
[INTERSOLV][ODBC SequeLink driver][ACCESS][Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.


/bileriassens/search2.asp, line 28
Avatar billede eagleeye Praktikant
24. april 2002 - 22:50 #3
Fejl kan evt. betyde: Stavefejl i SQL sætnigen (Forhandler), hvis kolonnen ikke er stavet på den måde. Eller hvis kolonnen ikke er oprettet i tabellen biler.
Avatar billede riishoj Nybegynder
24. april 2002 - 22:57 #4
Mystisk. Jeg har stavet rigtigt både i sciptet og i db-tabellen.
Avatar billede riishoj Nybegynder
24. april 2002 - 23:15 #5
Er det ellers rigtigt, det jeg har sat ind?
Avatar billede eagleeye Praktikant
24. april 2002 - 23:19 #6
Ja det er rigtigt det du har gjort. Normalt skulle det ikke give problemmer.
Avatar billede soes Nybegynder
25. april 2002 - 16:04 #7
Prøv at udskrive din sql streng istedet for at eksekvere den. Når du kan se den på skærmen er det som reglen nemmere at finde frem til en evt. fejl

/Søren Søndergård
Avatar billede riishoj Nybegynder
25. april 2002 - 16:18 #8
Problemet er mystisk, idet jeg blot har tilføjet noget til et ellers fungerende script.
Jeg har tilføjet en kolonne i min database og kaldt den "Forhandler" I scriptet har jeg så tilføjet i

strSQL = "SELECT ID, Bilmaerke, Model, Aargang, Km , Pris , Forhandler FROM biler WHERE"

og


Response.Write "<td>" & rs("Forhandler") & "</td></tr>"

Når jeg gør det virker det ikke mere, sletter jeg igen og uploader påny, så virker det igen!!!
Avatar billede riishoj Nybegynder
25. april 2002 - 16:37 #9
Jeg har løst problemet, men på en lidt underlig måde. Jeg indsætter

strForhandler = Trim(Request.Form("Forhandler"))

men undlader at lave formen "Forhandler"

Så indsætter jeg

strSQL = strSQL & " AND (Forhandler LIKE '%" & strForhandler & "%')"

og så virker det!!
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