Avatar billede martin86 Nybegynder
15. september 2003 - 14:41 Der er 5 kommentarer og
2 løsninger

problemer med update af MySql

Hvad er der galt med min kode ??

Det er en MySql database..

Set edit_elev = Server.CreateObject("ADODB.Recordset")
edit_elev.Open "select * from hhb_elever where id = " & Request("id"), objConn,1,3

edit_elev("for") = request.form("for")
edit_elev("efter") = request.form("efter")
edit_elev("mail") = request.form("mail")
edit_elev("mobil") = request.form("mobil")
edit_elev("lidt_om") = request.form("lidt_om")
edit_elev("user") = request.form("user")
edit_elev("pass") = request.form("pass")
edit_elev("niveau") = request.form("niveau")
edit_elev("billede") = request.form("billede")

edit_elev.Update <<-- linie 105
edit_elev.Close
 
end if
-------------------------------------------------------
får fejlen:
ADODB.Recordset.1 error '80004005'

SQLState: 42000
Native Error Code: 1064
[TCX][MyODBC]You have an error in your SQL syntax near 'for='Morten',efter='Scherrebeck',mobil=NULL,mail='scherrebeck@hotmail.com',user=' at line 1


/hh1b/default.asp, line 105

_Martin
Avatar billede medions Nybegynder
15. september 2003 - 14:42 #1
Det er fordi ikke kan gøre sådan! -du er nødt til at skrive det i ren SQL!

altså:

strSQL = "INSERT INTO tabelnavn (kolonnenavn1, kolonnenavn2) VALUES ('værdi1', 'værdi2')"
objCOnn.Execute(strSQL)

//>Rune
Avatar billede medions Nybegynder
15. september 2003 - 14:45 #2
Hov, det skal selvfølgelig være en UPDATE SQL sætning du skal bruge!

//>Rune
Avatar billede medions Nybegynder
15. september 2003 - 14:47 #3
fx.:

strSQL = "UPDATE hhb_elever SET for = '" & Request.Form("for") & "', efter='" & Request.Form("efter") & "' WHERE id = " & Request.QueryString("id")
edit_elev.Execute(strSQL)

(du skal lige selv tilføje alle de andre)

//>Rune
Avatar billede erikjacobsen Ekspert
15. september 2003 - 14:53 #4
Det er en dårlig driver, der giver sådan et resultat. "for" er et reserveret ord,
og det kunne klares, af driveren, med:

  `for`='Morten'

Hvilken MySql-ADODB-whatever driver anvender du?  Eller du kan kalde feltnavnet
for "fornavn".

En almindelig SQL Update, som foreslået, er nu heller ikke så tosset ;))
Avatar billede erikjacobsen Ekspert
15. september 2003 - 14:54 #5
...MEN....så skal du selv huske

strSQL = "UPDATE hhb_elever SET `for` = '" & Request.Form("for") & "', efter='" & ....osv
Avatar billede martin86 Nybegynder
15. september 2003 - 15:11 #6
lav et svar erikjacobsen .... du skal have 50% af pointene.. mange tak for hjælpen
Avatar billede erikjacobsen Ekspert
15. september 2003 - 15:26 #7
okay 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
Kurser inden for grundlæggende programmering

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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel