Avatar billede alleslev Nybegynder
24. maj 2003 - 19:15 Der er 7 kommentarer og
1 løsning

Fejl i update sætning

Hej hvad er fejlen i denne update kode?

if request.querystring("do") = "ret" then
        strSQL = "update omefterskole set "
            strSQL = strSQL & "brugerid= '" & session("aktivbruger") & "', " 
            strSQL = strSQL & "efterskole= '" & session("efterskole") & "', " 
            strSQL = strSQL & "overskrift= '" & request.form("overskrift") & "', " 
            strSQL = strSQL & "tekst= '" & Request.form("tekst") & "', " 
            strSQL = strSQL & "dato= '" & now() & "', " 
            strSQL = strSQL & "Where Id=" & request.querystring("id")
        response.write(strSQL)
        conn.execute(strSQL)
        response.redirect "default.asp?side=besked&besked=Hitorien er rettet"

jeg får denne fejlmeddelse:

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i UPDATE-sætningen.
/beskyttede/historie_admin.asp, line 49

håber i kan hjælpe:)
andreas
Avatar billede somaliomar Praktikant
24. maj 2003 - 19:19 #1
Prøv med
if request.querystring("do") = "ret" then
        strSQL = "update omefterskole set "
            strSQL = strSQL & "brugerid= '" & session("aktivbruger") & "', " 
            strSQL = strSQL & "efterskole= '" & session("efterskole") & "', " 
            strSQL = strSQL & "overskrift= '" & request.form("overskrift") & "', " 
            strSQL = strSQL & "tekst= '" & Request.form("tekst") & "', " 
            strSQL = strSQL & "dato= '" & now() & "' " 
            strSQL = strSQL & "Where Id=" & request.querystring("id")
        response.write(strSQL)
        conn.execute(strSQL)
        response.redirect "default.asp?side=besked&besked=Hitorien er rettet"
Avatar billede eagleeye Praktikant
24. maj 2003 - 19:19 #2
Hvis enn af kolonnerne er tal skal der ikke ping  '  omrking eksvis bugerid:

strSQL = strSQL & "brugerid= " & session("aktivbruger") & ", "


Så skal du íkke hvade , før WHERE så fjerne det efter dato linje:

strSQL = strSQL & "dato= '" & now() & "' "
Avatar billede jegebart Nybegynder
24. maj 2003 - 19:20 #3
1. Det er altid fornuftigt at printe strengen (strSQL) så man kan se den i sin fulde ordlyd, det letter fejlsøgningen væsentligt. Fx med din response.write(strSQL) - så skal du bare køre den uden conn.execute.

2. Jeg vil tro at det er dit sidste komma der er galt - der skal ikke komma før WHERE i SQL
Avatar billede mortrr Praktikant
24. maj 2003 - 19:22 #4
Flyt din now() ind i strengen:
          strSQL = strSQL & "dato=now() " 

Hvis "dato" er et dato-felt.
Avatar billede alleslev Nybegynder
24. maj 2003 - 19:35 #5
for hjælpen alle sammen, men pga at det første svar virkede (det gjorde de andre sikkert også) fik det første svar point.
Avatar billede alleslev Nybegynder
24. maj 2003 - 19:35 #6
tak for hjælpen
Avatar billede somaliomar Praktikant
24. maj 2003 - 19:43 #7
Tak for points
Avatar billede mortrr Praktikant
24. maj 2003 - 19:43 #8
Husk altid at læse begrundelserne igennem.

Det er ikke nok at det virker. Det skal også virke godt.
;-)
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