Avatar billede hanzi_cool Nybegynder
11. april 2000 - 12:44 Der er 4 kommentarer og
1 løsning

INSERT INTO

Jeg sidder og leger med min SQL Server, men når jeg prøver at insætte data for jeg følengende fejl:

Only constants, expressions, or variables allowed here. Column names are not permitted

min script ser sådan her ud:
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=SQLSRV;UID=;PWD=;DATABASE=test"
strSQL = "Insert Into Data (Data.Omraade, Data.Form, Data.Timer, Data.Uddanelse, Data.Kval, Data.Erfaring, Data.Referencer, Data.Loen, Data.tilDato, Data.Dato) Values (" & strOmraade & ", " & strForm & ", '" & strTimer & "', '" & strUddanelse & "', '" & strKval & "', '" & strErfaring & "', '" & strReferencer & "', '" & strLoen & "', #" & strDato1 & "-" & strDato2 & "#, #" & Now() & "#)"
myConn.Execute(strSQL)
myConn.Close
set myConn = Nothing

Er der nogen der kan hjæple mig ?

Avatar billede sjensen Nybegynder
11. april 2000 - 14:03 #1
Prøv denne i stedet:

strSQL = "Insert Into Data (Omraade, Form, Timer, Uddanelse, Kval, Erfaring, Referencer, Loen, tilDato, Dato) Values ('" & strOmraade & "', '" & strForm & "', '" & strTimer & "', '" & strUddanelse & "', '" & strKval & "', '" & strErfaring & "', '" & strReferencer & "', '" & strLoen & "', #'" & strDato1 & "'-'" & strDato2 & "'#, #'" & Now() & "'#)'"

Avatar billede trylmand Nybegynder
11. april 2000 - 14:30 #2
Hvis du vilhave # med bør den indeholdes i apostrofferne eks.
,'#" & strDato1 & "#',
Avatar billede sjensen Nybegynder
11. april 2000 - 14:48 #3
ok, du fortæller ikke hvorfor du afviser, men jeg er ikke sådan lige at slå ud:

Hvad er det du prøver med

strDato1 & "-" & strDato2

er det at trække 2 datoer fra hinanden eller er det at sammensætte dato1 og dato2 med en bindestreg i mellem ?

Hvis det er det første vil jeg anbefale at du laver beregningen som dato3 = dato1 - dato2 og hvis der er det sidste så gøre det på samme måde, d.v.s. sætte dato3 = dato1 + "-" +dato2

Jeg kunne godt forestille mig at scriptet bokker sig over netop minustegnet, fordi det netop opfattes som et minustegn.
Avatar billede trylmand Nybegynder
11. april 2000 - 15:03 #4
Hvis hanzi_cool vil trække 2 datoer fra hinanden er DateDiff funktionen ret anvendelig, spørgsmålet må være, hvad vil han bruge havelågerne til og, hvordan er felterne defineret ?
Avatar billede buhl Nybegynder
14. april 2000 - 03:08 #5
Det er for det meste en god ide at kode 'hårdt' mod SQL serveren når det gælder datoer. Det skyldes at klient programmer normalt ikke afvikles på samme maskine som SQL serveren, og de kan derfor have to forskellige country indstillinger i regional settings.

Derfor - beslut dig for det ene eller andet på serveren - og gør derefter følgende på de datoer du vil sætte ind (Såfremt regional settings er engelsk) - og husk den rigtige rækkefølge!!

iCurrentDate = "'" & Month(date_) & "/" & Day(date_) & "/" & Year(date_) & "'"

Håber det kan bruges
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
Computerworld tilbyder specialiserede kurser i database-management

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