webForumDet fria alternativet
Logga in / Bli medlem

Fel i SQL-syntax

Databaser & SQL

4 svar · 198 visningar · startad av Bendro

Medlem sedan jan. 20013 039 inlägg
Trådstart#1

På raden med koden:

set rsTCheck = my_Conn.Execute ("SELECT TOPIC_ID FROM " & strActivePrefix & "TOPICS WHERE TOPIC_ID = " & strRqTopicID)

Får jag felmeddelandet:

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

[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Jag ser inget uppenbart fel...någon som har något förslag?

Medlem sedan mars 20025 907 inlägg
#2

Innehåller variabeln strActivePrefix ett mellanslag efter tabellnamnet? Annars får du lägga in det

my_Conn.Execute ("SELECT TOPIC_ID FROM " & strActivePrefix & " TOPICS WHERE TOPIC_ID = " & strRqTopicID)
--------------------------------------------------------------^
Medlem sedan dec. 200012 464 inlägg
#3
q = "SELECT TOPIC_ID FROM " & strActivePrefix & "TOPICS WHERE TOPIC_ID = " & strRqTopicID
response.write q
response.end

Jag gissar att strRqTopicID är odefinierad.

Medlem sedan jan. 20013 039 inlägg
#4

mellanslaget skall vara kvar då TOPICS är en del av namnet...

Du gissade rätt LarsG...men felet kvarstår efter att jag åtgärdat detta.

Medlem sedan jan. 20013 039 inlägg
#5

Ok..nu har jag hittat problemet tror jag.
Koden hör till en Dagens fråga-funktion...och det låg ingen aktiv dagens fråga i databasen. Efter att ha aktiverat en fråga försvann i alla fall felmeddelandet...även om funktionen i sig inte funkar som den skall. Men det är ett annat problem och antagligen ett annat forum :e

271 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)