/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Fejl i to betingelser sammen
Fra : Michael Nielsen


Dato : 30-10-03 10:22

Jeg prøver at få disse to betingelser til at virke samtidig. De
virker hver for sig og jeg har prøvet med AND, men jeg får denne
fejl alligevel:

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

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
operator) in query expression 'serienr='.

/brugere_NY/nytsalg_opret.asp, line 23

Line 23 refererer til

Set rs = Conn.execute ("SELECT * FROM salg_total WHERE serienr="
& serienr & "")

Skal jeg bruge en anden operator end AND? Her er de to
betingelser:

If Not rs.Eof Then
Response.Write("<p><font color=red>Det indtastede serienr. er
ikke indtastet korrekt eller det er allerede
indtastet.</font></p>")
   fejl = true
End If

Conn.Close
Set Conn = Nothing

If serienr = "" Then
   Response.Write("<p><font color=red>Indtast venligst et
serienr.!</font></p>")
   fejl = true
End If



--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jens Gyldenkærne Cla~ (30-10-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 30-10-03 10:50

Michael Nielsen skrev:

> Jeg prøver at få disse to betingelser til at virke samtidig.

Hvilke to betingelser?

> De virker hver for sig og jeg har prøvet med AND, men jeg får
> denne fejl alligevel:

> [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing
> operator) in query expression 'serienr='.

Vi tager den lige endnu en gang (hvis du har læst tidligere indlæg
i gruppen er der en pæn chance for at du har set følgende før):

Når der er fejl i en sql-sætning er det første man gør at udskrive
den færdige sætning. *Hver* gang. Hver *eneste* gang.

Se <http://asp-faq.dk/article/?id=41>.


> Line 23 refererer til
>
> Set rs = Conn.execute ("SELECT * FROM salg_total WHERE serienr="
> & serienr & "")

Umiddelbart ser det fint ud - men hverken du eller jeg ved hvad der
gemmer sig i variablen serienr når linjen skal køres.

Gem sql-sætningen i en variabel og udskriv den før du kører den:

Dim strSQL
strSQL = "SELECT * FROM salg_total WHERE serienr=" & serienr

Response.write "SQL: " & strSQL
Response.END

Conn.Execute( strSQL )


> Skal jeg bruge en anden operator end AND? Her er de to
> betingelser:

Fejlen opstår slet ikke ved de to betingelser. Brug fejlmeddelelsen
fra asp-parseren - den fortæller at der er fejl i linje 23. Så er
det linje 23 du skal undersøge, ikke en tilfældig anden linje.


> If serienr = "" Then
> Response.Write("<p><font color=red>Indtast venligst et
> serienr.!</font></p>")
> fejl = true
> End If

Det tjek her er en validering af om serienummeret er indtastet. Den
skal stå før din sql-sætning - og så skal du sørge for at sql-
sætningen kun udføres hvis serienr *er* udfyldt. Det vil også være
en god ide at tjekke om serienr er numerisk:

If serienr = "" OR (Not isnumeric(serienr)) Then
   ' Udskriv fejlmeddelelse
Else
   ' Fortsæt med sql-kald
End If
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste