Avatar billede Jman Praktikant
15. oktober 2002 - 01:06 Der er 11 kommentarer og
1 løsning

Jeg er blevet blind - find min fejl

jeg får syntax error i min insert into sætning, og jeg har vist stirret mig blind, for jeg kan ikke se fejlen:

  Set Conn = Server.createobject("ADODB.Connection")
  Conn.open "Provider=Microsoft.jet.OLEDB.4.0;Data Source=" & server.mappath("../database/data.mdb")
  Set RS = Server.CreateObject("ADODB.Recordset")
  SQL = "SELECT Email FROM kundedb WHERE Email = '" & Email & "'"
  SQL = SQL & " OR Brugernavn = '" & kundenummer & "'"
  RS.open SQL, conn
  IF RS.EOF THEN

  SQL = "INSERT INTO kundedb ( "

  SQL = SQL & "Firma, "
  SQL = SQL & "kontaktpers, "
  SQL = SQL & "kundenummer, "
  SQL = SQL & "Adresse, "
  SQL = SQL & "Postnr, "
  SQL = SQL & "Bynavn, "
  SQL = SQL & "Email, "
  SQL = SQL & "Telefon, "
  SQL = SQL & "Mobil, "
  SQL = SQL & "login, "
  SQL = SQL & "Brugernavn, "
  SQL = SQL & "password) "

  SQL = SQL & "values ( "

  SQL = SQL & "'" & Firma & "', "
  SQL = SQL & "'" & kontaktpers & "', "
  SQL = SQL & "'" & kundenummer & "', "
  SQL = SQL & "'" & Adresse & "', "
  SQL = SQL & "'" & Postnr & "', "
  SQL = SQL & "'" & Bynavn & "', "
  SQL = SQL & "'" & Email & "', "
  SQL = SQL & "'" & Telefon & "', "
  SQL = SQL & "'" & Mobil & "', "
  SQL = SQL & "'" & login & "', "
  SQL = SQL & "'" & brugernavn & "', "
  SQL = SQL & "'" & password & "') "

  conn.execute(sql)
Avatar billede angel_seraphiel Nybegynder
15. oktober 2002 - 01:10 #1
Kan det have noget at gøre med at du har skrevet Brugernavn med stort og småt forskellige steder ?
Avatar billede ducks Nybegynder
15. oktober 2002 - 01:14 #2
Jeg tror ikke stort og småt har betydning, men ser lige tilbage hvis der skulle være nogen der ved det
Avatar billede Jman Praktikant
15. oktober 2002 - 01:15 #3
nope - det er Acces ligeglad med :)
Avatar billede lasse_buck Nybegynder
15. oktober 2002 - 01:29 #4
Din SQL ser nu meget fornufig ud. Prøv at udskrive SQL lige inden du kalder execute. Har du stavet alle feltnavne korrekt?
Avatar billede Jman Praktikant
15. oktober 2002 - 01:32 #5
yep!
Og der ser også fornuftigt ud på fejlmeldningen:

Tekniske oplysninger (for supportteknikere)

Fejltype:
Microsoft JET Database Engine (0x80040E14)
Der er en syntaksfejl i INSERT INTO-sætningen.
/tilfoj_kunde.asp, line 150


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Side:
POST 188 bytes to /tilfoj_kunde.asp

POST Data:
Firma=TESTFIRMA&kontaktpers=tester&kundenummer=1234&adresse=testvej&postnr=9999&bynavn=testrup&email=test@test.dk&telefon=123456&mobil=987654&brugernavn=test&password=test&form1=Send
Avatar billede excession Nybegynder
15. oktober 2002 - 01:55 #6
og du har checket at kundenummer, postnr, telefon, mobil alle er sat til tekst ok ikke tal i databasen?
Avatar billede Jman Praktikant
15. oktober 2002 - 08:12 #7
nogen af dem (kundenummer+postnr+tlfnr+mobil) skal jo være tal - ellers ...ja
Avatar billede eagleeye Praktikant
15. oktober 2002 - 08:47 #8
de kolonner som defineret som tal skal ikke hvade ' omkring i SQL sætningen. Ligeledes kan pasword som kolonnenavn give problemmer, men man kan sætte [] omkring:

  SQL = "INSERT INTO kundedb ( "

  SQL = SQL & "Firma, "
  SQL = SQL & "kontaktpers, "
  SQL = SQL & "kundenummer, "
  SQL = SQL & "Adresse, "
  SQL = SQL & "Postnr, "
  SQL = SQL & "Bynavn, "
  SQL = SQL & "Email, "
  SQL = SQL & "Telefon, "
  SQL = SQL & "Mobil, "
  SQL = SQL & "login, "
  SQL = SQL & "Brugernavn, "
  SQL = SQL & "[password]) "

  SQL = SQL & "values ( "

  SQL = SQL & "'" & Firma & "', "
  SQL = SQL & "'" & kontaktpers & "', "
  SQL = SQL & "" & kundenummer & ", "
  SQL = SQL & "'" & Adresse & "', "
  SQL = SQL & "" & Postnr & ", "
  SQL = SQL & "'" & Bynavn & "', "
  SQL = SQL & "'" & Email & "', "
  SQL = SQL & "" & Telefon & ", "
  SQL = SQL & "" & Mobil & ", "
  SQL = SQL & "'" & login & "', "
  SQL = SQL & "'" & brugernavn & "', "
  SQL = SQL & "'" & password & "') "

  conn.execute(sql)
Avatar billede eagleeye Praktikant
15. oktober 2002 - 08:50 #9
Jeg vil burge teskt for telefon, post nurmmer, samt mobil.
For hvis det ikke er indtastet noget i form og du så ikke indsætter 0 så giver det fejl.

if telefon = "" then telefon = 0
Avatar billede Jman Praktikant
15. oktober 2002 - 08:53 #10
jeg har ændret alle felter til tekst - i hvert fald midlertidigt, for at eliminere problemet. Selv om jeg taster informationer i alle felter, får jeg jo stadig fejlen
Avatar billede Jman Praktikant
15. oktober 2002 - 08:57 #11
hmm - er password er reserveret ord ? - Jeg ændrede dette til adgangskode i stedet og så virker formen fint (???)
Avatar billede eagleeye Praktikant
15. oktober 2002 - 09:23 #12
Ja så det password som reserveret ord.
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