[ASP] Syntax error

Pagina: 1
Acties:
  • 67 views sinds 30-01-2008

  • rewind.
  • Registratie: Oktober 2001
  • Laatst online: 06-05 12:30
oke dit is me eerste scriptje in asp en is samengesteld uit verschillende scripts die ik aangepast heb. Het gaat niet echt om de netheid als het maar werkt..

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<%
'Hieronder kun je het pad naar de database instellen
dim strConn
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mvnoadres.mdb")

'Hier wordt de connectie met de database gemaakt
set adoCn = Server.CreateObject("ADODB.Connection")
set adoRs = Server.CreateObject("ADODB.Recordset")

'Hieronder update hij het barcode veld als op update is geklikt
if request.form("ispostback") = 1 then
    dim strBarcode1 
    strBarcode1 = Request.Form("barcode")
    set updateRS = Server.CreateObject("ADODB.RecordSet")
    updateSQL = "SELECT barcode,bezoekers from mvno2005 where barcode =" & strBarcode1 
    updateRS.Open updateSQL,strConn, 1,2
    updateRS("bezoekers") = request.form("bezoekers")
    updateRS.update
    updateRS.Close
    set updateRS = Nothing
    message = "<p><font color='#FF0000'>Update Successful</font></p>"
end if

'Hieronder vraag je om de twee variabelen die van index.asp komen
dim strSearch
strSearch = request.querystring("search")

'Als er geen zoekwoorden ingevuld zijn
if strSearch = "" then
strSearch = "Je hebt geen zoekterm ingevuld"
end if

'Hier vervang je eventuele tekens die als html en commentaar worden gezien
'Daar kan index.asp op vastlopen
strSearch = replace(strSearch,"<","")
strSearch = replace(strSearch,">","")
strSearch = replace(strSearch,"'","''")

dim strSQL

'Hier is de querystring met een whereclause die verderop wordt uitgelegd
strSQL="SELECT * FROM mvno2005 WHERE barcode = " & strSearch & "" '& whereclause

'Hier wordt de recordset geopend
adoRS.Open strSQL, strConn, 3
%>
<html>
<head>
<title>mvno</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<b>Zoekresultaten voor: </b><i> 
<%=(strSearch)%>
</i> 
<hr>
<%
'Als er geen resultaten zijn gevonden
if adoRs.EOF then
response.write("<b>Geen resultaten gevonden..<b><br><br>")
end if
%>
<%
'Hier begint de loop, zolang er items in de recordset zitten
Do While Not adoRs.EOF
%>
<table border="0">
    <tr> 
      <td valign="top"><b>Barcode:</b> </td>
      <td valign="top"><%=adoRs("barcode")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Naam:</b> </td>
      <td valign="top"><%=adoRs("naam")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Tav.:</b> </td>
      <td valign="top"><%=adoRs("tav")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Adres:</b> </td>
      <td valign="top"><%=adoRs("adres")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Postcode:</b> </td>
      <td valign="top"><%=adoRs("postcode")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Plaats:</b> </td>
      <td valign="top"><%=adoRs("woonplaats")%></td>
    </tr>
    <tr> 
      <td valign="top"><b>Aantal bezoekers:</b> </td>
      <td valign="top">
        <form action="search.asp" method="post" name="frm" id="frm">
            <input type="text" name="bezoekers" value="<%=adoRs("bezoekers")%>">
            <input type="hidden" name="barcode" value="<%=adoRs("barcode")%>">
            <input type="hidden" name="ispostback" value="1">
            <input type="submit" value="update">
        </form>
    </td>
    </tr>
</table>
<hr>
<%
'Hier ga je naar het volgende item in de recordset
adoRs.MoveNext 
Loop
%>
<a href="index.asp">opnieuw zoeken</a>
</body>
</html>
<%

'Hier wordt de recordset afgesloten
adoRs.Close 
set adoRs = nothing


%>


ik krijg de volgende foutmelding als ik op het knopje update klik
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'barcode = Je hebt geen zoekterm ingevuld'.
/search/search/search.asp, line 45

POST Data:
bezoekers=3&barcode=2330002&ispostback=1
het vreemde is dat het veld wel correct word geupdate in de database.

verder vind ik 'barcode = Je hebt geen zoekterm ingevuld' vreemd want dit is toch echt 2330002.

ik zit dus zelf het probleem te zoeken in een van de volgende regels.
code:
1
2
updateSQL = "SELECT barcode,bezoekers from mvno2005 where barcode =" & strBarcode1 
updateRS.Open updateSQL,strConn, 1,2


ik kom er echter niet uit. ik hoop dat iemand me kan helpen!

Verwijderd

Zit je fout niet elders bij die andere sqlstring van lijn 42 ?

Ik vind

& strSearch & "" '&

nogal raar klinken... en & en dan 2x " en dan ' en weer een &

[ Voor 20% gewijzigd door Verwijderd op 12-04-2005 20:44 ]


  • WvdWest
  • Registratie: Augustus 2002
  • Niet online
Kan het zijn dat barcode gewoon geen waarde heeft? Heb je al geprobeerd zowel de waarde van barcode als de querystring uit te schrijven? Dan kan je zien wat je probeert uit te voeren. Vermoedelijk zit het in de waarde van barcode

I'm not a complete idiot - several parts are missing.


  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 15-01 21:24
Het is dan eigenlijk een debug-vraagje :X maar ik denk dat je je antwoord hierin kunt vinden
ASP:
42
strSQL="SELECT * FROM mvno2005 WHERE barcode = '" & strSearch & "'" '& whereclause

edit:
Even aangeven dat het om regel 42 gaat.

[ Voor 40% gewijzigd door Huppie op 12-04-2005 21:09 ]

Proud member of TCF - D2OL is zooooo 2005


  • rewind.
  • Registratie: Oktober 2001
  • Laatst online: 06-05 12:30
Verwijderd schreef op dinsdag 12 april 2005 @ 20:43:
Zit je fout niet elders bij die andere sqlstring van lijn 42 ?

Ik vind

& strSearch & "" '&

nogal raar klinken... en & en dan 2x " en dan ' en weer een &
die ' heb ik er zelf neergezet omdat ik wat erachter staat niet gebruik nog vergeten weg te halen.

  • Huppie
  • Registratie: Mei 2003
  • Laatst online: 15-01 21:24
Hmmm....ik krijg het idee dat ik niet duidelijk ben geweest :)

Betere uitleg:
Anders probeer je dit eens:
dit:
ASP:
42
strSQL="SELECT * FROM mvno2005 WHERE barcode = " & strSearch & "" '& whereclause


veranderen in:
ASP:
42
strSQL="SELECT * FROM mvno2005 WHERE barcode = '" & strSearch & "'" '& whereclause

Proud member of TCF - D2OL is zooooo 2005


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 06-05 18:51

Creepy

Tactical Espionage Splatterer

Huppie schreef op dinsdag 12 april 2005 @ 20:48:
Het is dan eigenlijk een debug-vraagje :X
Precies. Daarnaast post je (Stoney178 dus, niet Huppie ;) ) een gigantische lap code. Blijkbaar heb je zelf niet echt een idee waar het mis gaat anders had je alleen de relevante code gepost ;)

Debuggen doen we hier in eerste instantie zelf. Als je er dan nog niet uitkomt is een topic openen prima, maar geef dan wel aan wat je zelf hebt gedaan om het op te lossen en waar je zelf denkt dat de fout ongeveer zit. Geef daarbij de relevante (dus niet alle!) code.

Zie ook P&W FAQ - De "quickstart" voor hoe we een startpost eigenlijk zouden willen zien en zie ook P&W FAQ - Leer **** debuggen!!, want debuggen hoort er nu eenmaal bij :)

[ Voor 4% gewijzigd door Creepy op 12-04-2005 22:01 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.