Har du skapat ditt connectionobjekt conn?
I övrigt borde du inte ha slash med i fältnamn i tabellen. Jag föreslår att du byter namn på fältet till något utan specialtecken.
Mvh,
21 svar · 385 visningar · startad av Firegamez.com
Ja nu har jag ett till! Jag börjar bli trött på dem! Men jag försöker fixa en knapp... Som när man klickar på den blir man online! Detta är fel meddelandet:
Microsoft JET Database Engine error '80040e14'
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
/community/online.asp, line 8
Hel koden
<%
Option Explicit
Dim online, rsusers
%>
<!--#include file="conn.asp"-->
<%
Set rsusers = Server.CreateObject("ADODB.Recordset")
rsusers.open "on/off", conn, 3, 3
rsusers.Update
rsusers("on/off") = online
rsusers.close
set rsusers = nothing
conn.close
set conn = nothing
Response.Redirect(index.asp)
%>
OBS FIXADE FLERA SAKER SOM JAG GLÖMT!
Har du skapat ditt connectionobjekt conn?
I övrigt borde du inte ha slash med i fältnamn i tabellen. Jag föreslår att du byter namn på fältet till något utan specialtecken.
Mvh,
tror inte det! Men jag ändrade på kolumnen!
Om jag vore du skulle jag byta namn på tabell och fält som har slash (dvs ett divisionstecken som databasmotorn tolkar det) till endast onoff exempelvis.
Det var bara den som hade det.... Fixade det!
Hm...
Betyder det att problemet är löst?
nej samma fel meddelande!
Microsoft JET Database Engine error '80040e14'
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
/community/online.asp, line 8
Och hur ser koden ut nu då?
Och framför allt, skriv noggrant vad du vill att koden ska göra, in i minsta detalj, så kan vi nog se till att göra det på bästa möjliga sätt.
mvh,
Så här ser koden ut:
<%
Option Explicit
Dim online, rsusers
%>
<!--#include file="conn.asp"-->
<%
Set rsusers = Server.CreateObject("ADODB.Recordset")
rsusers.open "on/off", conn, 3, 3
rsusers.Update
rsusers("on/off") = online
rsusers.close
set rsusers = nothing
conn.close
set conn = nothing
Response.Redirect(index.asp)
%>
Och jag vill att när man klickar på en knapp(Redan fixat) Så ska man bli online på vårat community! Istället att det görs automatiskt när man loggar in! Så får man göra det själv!
Hade du inte bytt namn på tabellen on/off resp. fältet on/off?
Hur ser tabellen ut, vilka fält finns där?
Vi måste ju se till att en uppdatering bara görs på den användare som det är frågan om, inte på alla användare.
Varifrån får du detta användar-ID? Session? Querystring?
Vad innehåller filen conn.asp ?
databas sök vägen så här ser den ut:
<%
Dim ConnectString, conn
ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/siteinabox.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
@nders det e bara en kolumn onoff är! Ingen tabell!
Var lagras värdet, jag saknar en SQL-fråga. :OO
rsusers.open "on/off", conn, 3, 3
Att skriva så är synonymt med Select * From on/off, alltså vill ADO hämta alla poster från tabellen on/off.
Aha, då har jag lärt mig något idag också. :D
@nders... on/off är ingen Tabell! Det är en kolumn idatabasen! Dessutom heter den onoff nu eftersom du sa att det inte var något bra med "/"
Nej, du har skrivit det. Men i din kod påstår du att det är en tabell. Du har också en del frågor ovan att svara på om det ska bli enklare att hjälpa till.
asså sudda ut min kod! E det någon som kan göra en färdig???? tabbelen som onoff ligger i heter users! Jag har krånglat till det helt med filen online.asp! Så ni vet!
Du får ändra onlineId till vad du tänkt använda. :)
<%
Option Explicit
%>
<!--#include file="conn.asp"-->
<%
Dim strSql, onlineId
onlineId = Request.Querystring("onlineId")
strSql = "Update Users Set onoff = 'online' Where Id = " & onlineId & " ;"
conn.execute strSql,,128
conn.close
set conn = nothing
Response.Redirect(index.asp)
%>