webForumDet fria alternativet

"Insert into" - fel..

ASP

6 svar · 251 visningar · startad av alj

Medlem sedan sep. 2002538 inlägg
Frågan#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 :(

Medlem sedan juni 200032 967 inlägg
#2

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

Mvh,

Medlem sedan sep. 2002538 inlägg
#3

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

Medlem sedan juni 200032 967 inlägg
#4

Sure thing! :)

mvh

Medlem 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
Medlem 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?

Medlem 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!" ..

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)