Skumt fel?

ASP

8 svar · 414 visningar · startad av fjuri

Medlem sedan dec. 199970 inlägg
Trådstart#1

Hej!
Jag har gjort en sida som skickar lite värden till databasen. Koden ser ut som följande:

=========
<%
set conn=server.createobject("adodb.connection")
path="DBQ=" & server.mappath("kommande.mdb")
conn.open "driver={microsoft access driver (*.mdb)}; " & path,"name","name"

SQL = "INSERT INTO matchspelare (match-id, spelare, svar) VALUES (" & request.form("match-id") & ", '" & session("admin-namn") & "', " & request.form("svar") & ");"

set objRec = objConn.execute(SQL)

conn.close %>
==========

Och jag får följande felmeddelande när jag testar scriptet:
Microsoft VBScript runtime error '800a01a8'
Object required: 'objConn'
kom_spelareg.asp, line 8

line 8 är följande kod:
set objRec = objConn.execute(SQL)

=====
Vad är det som är fel?
Tack på förhand!

Verkar vara ett hel bra forum detta, är ny o allt :-)

Medlem sedan dec. 1999707 inlägg
#2

Hallå fjuri-mannen, kul att du har hittat hit...

Din "connection" heter inte objConn (det är min kopierade kod), du har kallat din för "conn". Så skriv:

set objRec = conn.execute(SQL)

så skall det nog fungera.

Medlem sedan dec. 199970 inlägg
#3

Du är bäst Toha!
Men fasiken va `**#¤^"#¤*"¤& man blir av att man ALLTID har ett jäkla skit fel. :-/

Nu banne mig ska scriptet igång. Och tack för hjälpen jag fick igår! :-)

Medlem sedan dec. 199970 inlägg
#4

GOD DAMNIT!

Nu får jag följande felmeddelande på samma kod (fast Toha's modifieringar har lagts till):

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

[Microsoft][ODBC Microsoft Access 97 Driver] Syntax error in INSERT INTO statement.

/blizzard/guests/fury/mbadmin/kom_spelareg.asp, line 8
===

Help me obi-wan kenobi (läs Toha ;), your my only hope *pzz*

Medlem sedan dec. 19998 577 inlägg
#5

...hejsan!

...jo jag såg att du glömt enkel "fnuttarna".

SQL = "INSERT INTO matchspelare"
SQL = SQL & " (match-id, spelare, svar)"
SQL = SQL & " VALUES ('" & request.form("match-id") & "', '" & session("admin-namn") & "', '" & request.form("svar") & "')"

testa det här stället...

Medlem sedan dec. 1999707 inlägg
#6

Kolumnen svar är av text-format därför måste du ha med apostroferna där. SQL-uttrycket blir således:

SQL = "INSERT INTO matchspelare (match-id, spelare, svar) VALUES (" & request.form("match-id") & ", '" & session("admin-namn") & "', '" & request.form("svar") & "');"

Obs! Inga apostrofer runt match-id, det är av tal-typ.

(Till alla andra kan jag bara meddela att jag har hjälpt Fjuri innan, det är bara därför jag vet hur hans databas är designad. ;) )

Medlem sedan dec. 199970 inlägg
#7

Funkar fortfarande inte.
Får samma fel, och jag har testat bägge era koder. Är det databas fel eller vad är det frågan om??

Följande felmeddelande dyker upp:

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

[Microsoft][ODBC Microsoft Access 97 Driver] Syntax error in INSERT INTO statement.

kom_spelareg.asp, line 9

Och line 9=
set objRec = conn.execute(SQL)

Men den verkar ju inte vara fel, eller?
Hela koden hittar ni ovanför (plus att jag testat de förslag Toha och Vide visade).

Tack på förhand!

Medlem sedan dec. 1999707 inlägg
#8

Jag tror Access inte gillar bindestreck (minustecken) i kolumnnamn. Testa att antingen ändra kolumnnamnet eller att skriva kolumnnamnet inom klammrar:

SQL = "INSERT INTO matchspelare ([match-id], spelare, svar) VALUES (" & request.form("match-id") & ", '" & session("admin-namn") & "', '" & request.form("svar") & "');"

Medlem sedan dec. 199970 inlägg
#9

Funkar fortfarande inte..
får väl byta ut namnet. Hua, blir lite jobb det.

:/

248 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)