webForumDet fria alternativet

Insert

3 svar · 184 visningar · startad av session

sessionMedlem sedan feb. 200112 inlägg
#1

Det är helt borta just nu. Har gjort detta ett antal gånger, men nu ööööö.
Vad kan det vara för fel.
Felmeddelande:
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'

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

Kan ta fram värderna med en Request.Form("") utan problem på sidan.

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("db.mdb") & ";"

	SQLStmt = "INSERT INTO DB"
	SQLStmt = SQLStmt & "(rubrik, text, grupp, datum) "
	SQLStmt = SQLStmt & "VALUES('" & (replace(Request.Form("rubrik"), "'", "''")) & "',"
	SQLStmt = SQLStmt & " '" & (replace(Request.Form("text"), "'", "''")) & "',"
	SQLStmt = SQLStmt & " '" & (replace(Request.Form("grupp"), "'", "''")) & "',"
	SQLStmt = SQLStmt & " '" & now & "') "
	Connection.Execute(SQLStmt)
Connection.Close
LarsGMedlem sedan dec. 200012 465 inlägg
#2

Aha, kolumnnamn som text är inte bra att ha i Access. Det är ett reserverat ord i JET-SQL. Antingen kan man byta namn eller skriva såhär

SQLStmt = "INSERT INTO DB"
SQLStmt = SQLStmt & "(rubrik, [text], grupp, datum) "
SQLStmt = SQLStmt & "VALUES('" & (replace(Request.Form("rubrik"), "'", "''")) & "',"
SQLStmt = SQLStmt & " '" & (replace(Request.Form("text"), "'", "''")) & "',"
SQLStmt = SQLStmt & " '" & (replace(Request.Form("grupp"), "'", "''")) & "',"
SQLStmt = SQLStmt & " '" & now & "') "
Connection.Execute SQLStmt

------------------
essentitia preter non sans multiplicandum

@ndersMedlem sedan juni 200026 914 inlägg
#3

observera att även datum kan vara reserverat.

jag rekommenderar lite fältnamnsbyten.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

sessionMedlem sedan feb. 200112 inlägg
#4

Ja du det hade jag ingen aning om.
Detta måste man komma ihåg. Det är tur att det finns en som du. Annars hade man suttit hör till man dog för att komma fram till detta.
Tusen tusen tack.

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb