Avatar billede webtiger Nybegynder
16. august 2000 - 08:08 Der er 4 kommentarer og
1 løsning

Datatyper i kriterieudtryk

Jeg kan ikke se fejlen i dette:

sql = \"INSERT INTO Kunde (Kundenr, Navn, Adresse, Postnummer, Postdistrikt, Email, Kodeord) VALUES (\";
      sql += \"\'\" + Request.Form(\"Kundenr\") + \"\', \";
    sql += \"\'\" + Request.Form(\"Navn\") + \"\', \";
      sql += \"\'\" + Request.Form(\"Adresse\") + \"\', \";
      sql += \"\'\" + Request.Form(\"Postnummer\") + \"\', \";
      sql += \"\'\" + Request.Form(\"Postdistrikt\") + \"\', \";
      sql += \"\'\" + Request.Form(\"Email\") + \"\', \";
      sql += \"\'\" + Request.Form(\"Kodeord1\") + \"\')\";

      objConnection.execute(sql);


men jeg får denne meddelelse i browseren:

Microsoft JET Database Engine fejl \'80040e07\'

Datatyperne stemmer ikke overens i kriterieudtrykket

Mvh
Anni
Avatar billede tdaugaard Nybegynder
16. august 2000 - 08:23 #1
Feltet PostNummer skulle vel ikke være af typen TAL??

Hvis det er skal du skrive

sql + sql + CInt(Request.Form(\"Postnummer\")) + \", \";
Avatar billede sone Nybegynder
16. august 2000 - 09:27 #2
For ikke at nævne kundenr...

tdaugaard: Det er helt overflødigt med CInt, da sql er en streng (og du ikke skal lave beregninger med f.eks. postnummer)
Avatar billede tdaugaard Nybegynder
16. august 2000 - 09:30 #3
<< sone >>
Ja, det har du jo egentlig ret i .. men jeg er også lige stået op .. jeg er stadig træt :)
Avatar billede leander Nybegynder
16. august 2000 - 10:17 #4
Hvis nogle af felterne i databasen er defineret som en numerisk værdi, skal du huske at fjerne apostrofferne. De er kun til tekstfelter.

Prøv evt. (nu kender jeg ikke din DB struktur):

sql = \"INSERT INTO Kunde (Kundenr, Navn, Adresse, Postnummer, Postdistrikt, Email, Kodeord) VALUES (\";
  sql += Request.Form(\"Kundenr\") & \", \";
sql += \"\'\" & Request.Form(\"Navn\") & \"\', \";
  sql += \"\'\" & Request.Form(\"Adresse\") & \"\', \";
  sql += Request.Form(\"Postnummer\") & \", \";
  sql += \"\'\" & Request.Form(\"Postdistrikt\") & \"\', \";
  sql += \"\'\" & Request.Form(\"Email\") & \"\', \";
  sql += \"\'\" & Request.Form(\"Kodeord1\") & \"\')\";

  objConnection.execute(sql);
Avatar billede ricardo Nybegynder
16. august 2000 - 10:35 #5
+= er en dejlig operator, men den findes desværre ikke i VBScript.

sql = sql & [ ... blah blah ... ]

er måden at gøre det på.
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