Avatar billede sorenmt84 Juniormester
20. december 2001 - 13:31 Der er 20 kommentarer og
1 løsning

Fejl ved forsøg på at skrive til database!

Jeg bruger følgende kode til at skrive til en database:

if side = \"tilfojdb\" then
password = request.form(\"password\")
password2 = request.form(\"password2\")
if password <> password2 then
response.write(\"<b><span class=fejl>De 2 password du har angivet er ikke ens...</span></b>\")
else
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"../db/downtown.mdb\")
SQLstmt = \"INSERT INTO personale (navn,brugernavn,password,level,kategori,redigeret)\"
SQLstmt = SQLstmt & \" VALUES (\'\" & request.form(\"navn\") & \"\',\'\" & request.form(\"brugernavn\") & \"\',\'\" & request.form(\"password\") & \"\',\'\" & request.form(\"level\") & \"\',\'\" & request.form(\"kategori\") & \"\',\'\" & date() & \"\')\"
response.write sqlstmt
Conn.Execute (SQLstmt)
conn.Close
Set conn = nothing
Set SQLstmt = nothing
response.redirect (\"personale.asp\")
end if
end if

Men får denne fejl:
INSERT INTO personale (navn,brugernavn,password,level,kategori,redigeret) VALUES (Viggo Jensen\',\'viggo\',\'jensen\',\'2\',\'kl\',\'20-12-2001\')
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'

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

/diverse/downtown/adm/personale.asp, line 279
Avatar billede a-torsten Nybegynder
20. december 2001 - 13:45 #1
prøv lige at lave
SQLstmt = \"INSERT INTO personale (navn,brugernavn,password,level,kategori,redigeret)\"

om til

SQLstmt = \"INSERT INTO personale (navn, brugernavn, password, level, kategori, redigeret)\"

-Anders
Avatar billede sone Nybegynder
20. december 2001 - 15:16 #2
Er level ikke et tal - så skal der ikke \' omkring værdien
Avatar billede sorenmt84 Juniormester
20. december 2001 - 15:38 #3
Jeg har nu fundet ud af at det er level feltet der er problemet...
>> Sone, jo det er et tal, men jeg forstår ikke din besked med at fjerne \'
Har prøvet at gøre sådan:
\" & request.form(\"level\") & \" men det hjalp ikke!
Avatar billede larsen Nybegynder
20. december 2001 - 18:09 #4
Går ud fra han stsejs mener :
SQLstmt = SQLstmt & \" VALUES (\'\" & request.form(\"navn\") & \"\',\'\" & request.form(\"brugernavn\") & \"\',\'\" & request.form(\"password\") & \"\',\" & request.form(\"level\") & \",\'\" & request.form(\"kategori\") & \"\',\'\" & date() & \"\')\"
Avatar billede larsen Nybegynder
20. december 2001 - 18:10 #5
Sorry, jeg mente at sone måske mente :-)
Avatar billede sorenmt84 Juniormester
20. december 2001 - 18:19 #6
>>larsen
Det er det jeg selv også har selv har prøvet... Har lige prøvet dit forslag, men uden held... :-(
Avatar billede larsen Nybegynder
20. december 2001 - 18:45 #7
Hvad er dit datofelt sat op som i din database ? Er det sat til datofelt med en underfunktion (kort format, langt format osv.)?
Avatar billede sorenmt84 Juniormester
20. december 2001 - 18:48 #8
Jeg har sat det til et alm tekst felt!
Avatar billede larsen Nybegynder
20. december 2001 - 18:52 #9
Prøv at ændre feltet til et DATOFELT med formatet KORT DATOFORMAT.

Sådan har jeg sat min op og den funker upåklageligt.
Avatar billede sorenmt84 Juniormester
20. december 2001 - 19:06 #10
Heller ikke det...

Jeg glemte lige og sige at jeg har prøvet at fjerne level, så det ikke skal sættes ind og straks virkede det som det skal!
Avatar billede larsen Nybegynder
20. december 2001 - 19:08 #11
Hvilken type er level ?
Avatar billede sorenmt84 Juniormester
20. december 2001 - 19:10 #12
Jeg har prøvet både som tal og tekst!
Avatar billede larsen Nybegynder
20. december 2001 - 19:12 #13
Har du prøvet at ændre navnet \"level\" til noget andet ? Jeg mener der er et reserveret ord som er level.
Avatar billede sorenmt84 Juniormester
20. december 2001 - 19:14 #14
Hvis d r mit felt \"level\" i databasen du mener, vil jeg være MEGET træt af d, da det er til et loginsystem og r ret meget der skal ændres så!
Avatar billede larsen Nybegynder
20. december 2001 - 19:17 #15
Prøv at lave en fil som du kan lege med og som udfører dette på DB\'en.
Når det SÅ virker kan du ændre det i alle de andre filer.

(Du kan bare kopiere DB\'en til et andet navn imens og så arbejde på den. Så undgår du at det hele går i stykker.)
Avatar billede sorenmt84 Juniormester
20. december 2001 - 19:19 #16
Det prøver jeg lige...
Avatar billede larsen Nybegynder
20. december 2001 - 19:20 #17
Ok, sig til når du er færdig :-)
Avatar billede sorenmt84 Juniormester
20. december 2001 - 19:23 #18
Jeg kan desværre ikke gøre det lige nu, da jeg for tiden ikke selv har installeret access på min computer, så jeg skal bruge en anden en for at kunne rette i min database og den anden er optaget lige nu!!! Men det kan jo næsten ikke være andet end det, men jeg vender lige tilbage når jeg har prøvet...
Avatar billede larsen Nybegynder
20. december 2001 - 19:27 #19
Jeg arbejder lige på det her.
Hvad er de forskellige felttyper (Feks. sende en tom DB, med de tilhørende tabeller og felter til Ulrik@post9.tele.dk)?
Så kan jeg arbejde videre med det, hvis du synes.
Avatar billede sorenmt84 Juniormester
21. december 2001 - 13:24 #20
>> larsen

det var det med at det ikke må hedde level og jeg har fået lavet det hele om nu... Tak for hjælpen :-)

Laver du lige et svar så du ka få nogle point??
Avatar billede larsen Nybegynder
21. december 2001 - 17:29 #21
Jeps, det gør jeg 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