Avatar billede Slettet bruger
10. oktober 2003 - 16:30 Der er 7 kommentarer og
1 løsning

Insert into fejl

Hey

Det er hundrede år sigen jeg har arbejdet med access databaser, så jeg håber I lige kan hjælpe mig med, at finde fejlen. Jeg får følgende fejlmeddelse:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.
/croquis/admin/form_addnews.asp, line 11

Og koden er som følger:

[05] Set rs = Server.CreateObject("ADODB.Recordset")
[06] Sql = "INSERT INTO nyheder (kategori,tilfoejet,overskrift,tekst) VALUES ("
[07] MySql = MySql & "'" & request.form("kategori") & "',"
[08] MySql = MySql & "'" & Now() & "',"
[09] MySql = MySql & "'" & request.form("overskrift") & "',"
[10] MySql = MySql & "'" & request.form("pageHTML") & "');"
[11] rs.Open Sql, conn, 1, 3
[12] response.redirect"news.asp?message=1"

Paranteserne angiver linien.

På forhånd tak...
Avatar billede tuctoh Nybegynder
10. oktober 2003 - 16:31 #1
om et dato felt skal du bruge ##

så

[08] MySql = MySql & "#" & Now() & "#,"
Avatar billede tuctoh Nybegynder
10. oktober 2003 - 16:31 #2
et problem kunne også være i

[09] MySql = MySql & "'" & request.form("overskrift") & "',"
[10] MySql = MySql & "'" & request.form("pageHTML") & "');"

hvor det ville være smart at gøre sådan


[09] MySql = MySql & "'" & replace(request.form("overskrift"), "'", "''") & "',"
[10] MySql = MySql & "'" & replace(request.form("pageHTML"), "'", "''") & "');"
Avatar billede Slettet bruger
10. oktober 2003 - 16:34 #3
Tak for det sidste svar, glemte lige replace...

Men desværre opstår fejlen stadig...

(sorry, ved godt det ikke er særlig logisk at variablen hedder MySql)
Avatar billede tuctoh Nybegynder
10. oktober 2003 - 16:37 #4
du skal måske også lave den replace i
[07] MySql = MySql & "'" & request.form("kategori") & "',"

ellers må du udskrive MySQL, så vi kan se hvad den indeholder...
Avatar billede Slettet bruger
10. oktober 2003 - 16:46 #5
kategori er bare et tal... så man kan egentlig udelukke ', men samme fejl opstår...
Avatar billede tuctoh Nybegynder
10. oktober 2003 - 16:51 #6
du blander to variable sammen... sql og MySql

[05] Set rs = Server.CreateObject("ADODB.Recordset")
[06] Sql = "INSERT INTO nyheder (kategori,tilfoejet,overskrift,tekst) VALUES ("
[07] MySql = MySql & "'" & request.form("kategori") & "',"
[08] MySql = MySql & "'" & Now() & "',"
[09] MySql = MySql & "'" & request.form("overskrift") & "',"
[10] MySql = MySql & "'" & request.form("pageHTML") & "');"
[11] rs.Open Sql, conn, 1, 3
[12] response.redirect"news.asp?message=1"

skulle være

[05] Set rs = Server.CreateObject("ADODB.Recordset")
[06] MySql = "INSERT INTO nyheder (kategori,tilfoejet,overskrift,tekst) VALUES ("
[07] MySql = MySql & "'" & request.form("kategori") & "',"
[08] MySql = MySql & "'" & Now() & "',"
[09] MySql = MySql & "'" & request.form("overskrift") & "',"
[10] MySql = MySql & "'" & request.form("pageHTML") & "');"
[11] rs.Open MySql, conn, 1, 3
[12] response.redirect"news.asp?message=1"



samt de ændringer jeg gav før
Avatar billede Slettet bruger
10. oktober 2003 - 16:53 #7
Ahh, derfor, det er jo klart... Tak
Avatar billede tuctoh Nybegynder
10. oktober 2003 - 16:56 #8
og af netop den grund bad jeg dig udskrive variablen...

en

response.write sql

ville give dig resulatet i løbet af sekunder :p
Hvis en SQL sætning ikke virker - skriv den ud. 9 ud af 10 fejl kan findes på den måde.


men tak for points da
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester