webForumDet fria alternativet

"Insert into" - fel..

6 svar · 248 visningar · startad av alj

aljMedlem sedan sep. 2002538 inlägg
#1

Har setat och klurat ett tag nu men kan inte komma på vad som är fel med följande kod:

      Connect.Execute("INSERT INTO tblTradar(Rubrik, Email, Forfattare, Text, Hemsida, Datum) VALUES('"& Rubrik &"', '"& Epost &"', '"& Namn &"', '"& Inlagg &"', '"& Hemsida &"', #"& Date() &"#)")

Den hämtar alla variablar helt korrekt vilket jag kan se när jag skriver ut satsen:

INSERT INTO tblTradar(Rubrik, Email, Forfattare, Text, Hemsida, Datum) VALUES('Mig', 'Hej@doman.com', 'Dig', 'Inget särskilt.', 'pussel.org', #2003-02-05#)

Men endå får jag följande fel:

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

[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck. 

/batalj-forum/Skriv.asp, rad 56

Rad 56 är raden jag skrev ut i mitt första kodstycke
Antagligen något simpelt fel men ack så irriterande :(

@ndersMedlem sedan juni 200032 969 inlägg
#2

Text är ett reserverat ord. Byt namn på fältet.

Mvh,

aljMedlem sedan sep. 2002538 inlägg
#3

Ärsch så simpelt! Jaja tackar så mycket än en gång snabel-anders :)

@ndersMedlem sedan juni 200032 969 inlägg
#4

Sure thing! :)

mvh

aljMedlem sedan sep. 2002538 inlägg
#5

Jag mötte ett nytt problem nu medan jag arbetar med mitt lilla forum, och tänkte att det var onödigt att gapa ut en massa trådar så jag fortsätter på denna :)

Jag har en fil för att skriva trådar/svar och en för att välja tråd som skall läsas och läsa den tråden.
I min svars tråd så har jag ju somsagt två stycken saker den skall kunna göra (skriva trådar och svar) jag har skiljt dessa två "funktioner" med en If sats som sedan förlängs med elseif satser så jag inte behöver ha så många if satser.
I alla fall, sedan vid min tråd skriveri funktion har jag en kontroll i form av if satser som kontrollerar om man verkligen skrev in någon rubrik eller epost och såvidare, men när man öppnar skriv.asp så står det "Du har inte angett någon rubrik" självklart har jag inte gjort det eftersom jag inte äns hunnit till att skriva något.

Mitt problem är alltså hur gör jag för att få dessa två ifsatser:

      Dim Rubrik, Epost, Namn, Inlagg, Hemsida
       Rubrik = Request.Form("Rubrik")
       Epost = Request.Form("Epost")
       Namn = Request.Form("Forfattare")
       Inlagg = Request.Form("Inlagg")
       Hemsida = Request.Form("Hemsida")

      '{
      If Epost = "" Then Epost = "Ingen angiven"

    ElseIf Hemsida = "" Then Hemsida = "Ingen angiven"
    End if
      '}

      If Rubrik = "" Then
       Response.write("Du måste ange en rubrik!")

      ElseIf Namn = "" Then
    Response.write("Du måste ange en författare!")

    ElseIf Inlagg = "" Then
    Response.write("Vad skall du med en tråd till, om du icke skriver något inlägg?")

"Isolerade" ifrån resten av sidan, alltså de skall endast användas om man har skrivit något, eller " ElseIf Request.Querystring("Skriv") = "TradDo" Then" anropas.

Min kod ser ut såhär för svar.asp(något nedklippt):

#Connect identifieras..

If Request.Querystring("Skriv") = "Trad" Then
#Formulär för inmatning av tråd...

      ElseIf Request.Querystring("Skriv") = "TradDo" Then

#Skriver tråd...
      Dim Rubrik, Epost, Namn, Inlagg, Hemsida
       Rubrik = Request.Form("Rubrik")
       Epost = Request.Form("Epost")
       Namn = Request.Form("Forfattare")
       Inlagg = Request.Form("Inlagg")
       Hemsida = Request.Form("Hemsida")

#Kollar om data är ok...
      If Epost = "" Then Epost = "Ingen angiven"

    ElseIf Hemsida = "" Then Hemsida = "Ingen angiven"
    End if
      '}

      If Rubrik = "" Then
       Response.write("Du måste ange en rubrik!")

      ElseIf Namn = "" Then
    Response.write("Du måste ange en författare!")

    ElseIf Inlagg = "" Then
    Response.write("Vad skall du med en tråd till, om du icke skriver något inlägg?")

  Else

 #Datan var visst sjysst, skriv..
      End If

      If Request.Querystring("Skriv") = "Svar" Then

 #Skriver formulär...

#Identifierar variabler för svaret..

#Var variablarna korrekta? skriv svaret då..

#skriver..
       End If
   Connect.close
  Set Connect = Nothing
solbulleMedlem sedan mars 20015 287 inlägg
#6

Spontant tycker jag du skulle kunna lägga en del av dina kodblock i subbar och sen kanske kalla på dom i dina If-satser.
Får återkomma med exempel.

RED.

Men... som det är nu så kommer den väl bara in och skriver ut om:
Request.Querystring("Skriv") = "TradDo"

Eller?

aljMedlem sedan sep. 2002538 inlägg
#7

solbulle skrev:

Spontant tycker jag du skulle kunna lägga en del av dina kodblock i subbar och sen kanske kalla på dom i dina If-satser.
Får återkomma med exempel.

RED.

Men... som det är nu så kommer den väl bara in och skriver ut om:
Request.Querystring("Skriv") = "TradDo"

Eller?

Hoppas du kommer med exempel senare skall nog försöka lite själv men alltid bra att ha något o luta sig tillbaka på :)

Nej, när jag endast går in på skriv.asp säger sidan argsint "Du måste ange en rubrik!" ..

128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)