Avatar billede mini41 Nybegynder
05. maj 2004 - 11:03 Der er 5 kommentarer og
3 løsninger

Fejl ved åbning af DB

Er der nogen der kan se hvad min fejl er, den giver denne fejl :

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

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

/banner/vis.asp, line 8

Linie 8 er den der starter med :<% Set RedirectInfo



Her er koden:
<% @ LANGUAGE = VBScript %>

<% Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=d:\websider\global\readyhits.com\banner\banner.mdb"
Conn.Open DSN %>

<% Set RedirectInfo = Conn.Execute("SELECT * FROM BannerData WHERE BannerID = "&Request.QueryString("ID")&"") %>
<% BannerCount = RedirectInfo("BannerKlik") + 1 %>
<% Conn.Execute("UPDATE BannerData SET BannerKlik = "&BannerCount&" WHERE BAnnerID = "&Request.QueryString("ID")&"") %>
<% URL = RedirectInfo("BannerLink") %>
<% Conn.Close %>
<% Response.Redirect(URL) %>
Avatar billede medions Nybegynder
05. maj 2004 - 11:06 #1
Prøv sådan her:
<% Set RedirectInfo = Conn.Execute("SELECT * FROM BannerData WHERE BannerID = "& CInt(Request.QueryString("ID"))) %>

Prøv evt. at tjekke om din QueryString indeholder et tal eller overhovedet indeholder noget.

//>Rune
Avatar billede cyb Nybegynder
05. maj 2004 - 11:07 #2
Er du sikker på at der er et id i din querystring. Du skal nok lige lave et test på at strengen ikke er tom.
Avatar billede mini41 Nybegynder
05. maj 2004 - 11:08 #3
cyb:

Jeg har ID nummer 1,2,3 og 4 i min DB men ingen nr. 0

Jeg ved ikke om det er fejlen men jeg kan ikke lave et ID der hedder 0
Avatar billede medions Nybegynder
05. maj 2004 - 11:12 #4
mini41> Hvorfor skriver du til cyb kun, vi har da begge besvaret det samme?

Hvis du ikke har nogen 0 så må du jo plusse den med en hvis det er det du vil!

<%
intQString = Request.QueryString("ID")
If intQString = 0 Then
  intQString = 1
End If

Set RedirectInfo = Conn.Execute("SELECT * FROM BannerData WHERE BannerID = "& CInt(intQString) %>

//>Rune
Avatar billede mini41 Nybegynder
05. maj 2004 - 11:22 #5
Rune:

Grunden til jeg spurgte cyb, var at svaret bragte et nyt spørgsmål og point går til den der løser problemet :)


Det gav mig så en ny fejl:

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

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

/banner/vis.asp, line 17

Linie 17 er linien der starter med :
<% Conn.Execute("UPDATE BannerData SET BannerKlik
Avatar billede medions Nybegynder
05. maj 2004 - 11:24 #6
<%
intQString = 0
intQString = Request.QueryString("ID")
If intQString = 0 Then
  intQString = 1
End If
Conn.Execute("UPDATE BannerData SET BannerKlik = "&BannerCount&" WHERE BAnnerID = "&Request.QueryString("ID")&"") %>

//>Rune
Avatar billede mini41 Nybegynder
05. maj 2004 - 11:25 #7
Der glemte jeg så lige at bruge hovedet linie 17 skal jo også rettes:)

Det virker nu, tak for hjælp og point til dig
Avatar billede cyb Nybegynder
05. maj 2004 - 11:26 #8
Min pointe var at du skulle lave nogle if sætninger uden om db linierne for at tjekke at parametrene til db kaldet var lovligt inden du skød det afsted mod basen. eks.
If ((CInt(BannerCount) > 0) AND (Cint(Request.QueryString("ID")) > 0)) then
  Conn.Execute("UPDATE BannerData SET BannerKlik = "&BannerCount&" WHERE BAnnerID = "&Request.QueryString("ID")&"")
else
  Response.write ("din fejl er i parametrene")
end if
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