webForumDet fria alternativet

Syntaxfel i INSERT INTO

7 svar · 351 visningar · startad av greggan

gregganMedlem sedan jan. 2004678 inlägg
#1

Jag har nu suttit och pillat länge på ett insert into formulär till min databas och misslyckas totalt.

Felmeddelandet

Syntaxfel i INSERT INTO-uttryck.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Syntaxfel i INSERT INTO-uttryck.

Source Error:

Line 20: Dim cmd as new OleDbCommand("INSERT INTO news(rubrik,text,date) VALUES('" & rubrik.Text & "','" & inlagg.Text & "','" & Now() & "') ",cn)
Line 21: cn.Open()
Line 22: Cmd.ExecuteNonQuery()
Line 23: cn.Close
Line 24: End Sub

Och koden

sub laggtill_click(obj as object, e as eventargs)
Dim cn as new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:\Inetpub\wwwroot\magneberg\magneberg.mdb;")
Dim cmd as new OleDbCommand("INSERT INTO news(rubrik,text,date) VALUES('" & rubrik.Text & "','" & inlagg.Text & "','" & Now() & "') ",cn)
cn.Open()
Cmd.ExecuteNonQuery()
cn.Close
End Sub

Vad är felet?

UlfTMedlem sedan maj 20018 027 inlägg
#2

Datumet ska förmodligen inte vara inom apostrofer.

cyprysMedlem sedan dec. 20003 563 inlägg
#3

Skriv ut sql-satsen och kontrollera på det sättet.
Där ser du säkert felet direkt. ;)

gregganMedlem sedan jan. 2004678 inlägg
#4

jag har använt det vid datum förut och det har fungerat.. =/
har även testat utan och det funkade inte..

hur då skriv ut sqlsatsen??
jag känner mig lite noob =P

PDahlenMedlem sedan apr. 2004778 inlägg
#5

Använd # istället för ' runt datumet eftersom det är en Access-databas

@ndersMedlem sedan juni 200032 969 inlägg
#6

Text och antagligen också Date är reserverade ord. Byt namn på fälten.

gregganMedlem sedan jan. 2004678 inlägg
#7

Tack så mycket @nders det löste felet! =D

xrobxMedlem sedan mars 2003106 inlägg
#8

...eller
Reserverade ord kan användas med hjälp av hak-parenteser i access.
(om någon nu skulle vilja använda reserverade ord endå) :)

Ex:
UPDATE tblUsers SET tblUsers.[Name] = "Kalle"

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