SkarreMedlem sedan apr. 20012 427 inläggJag försöker stoppa in en nyhetsartikel i en Access-databas med följande SQL-sträng:
INSERT INTO news (adminid, headline, startdate, enddate, limitdate) VALUES (35,'test1','2003-05-05','2001-01-01', Falskt)
Jag får felet "För få parametrar angavs. 1 förväntades.". Tar jag bort det booleanska värdet i slutet av strängen så fungerar det utmärtk så det är definitivt det som spökar. Jag har även kollat att "Falskt" är ett booleanskt värde, men det accepteras tydligen inte av Access. Byter jag ut värdet mot en etta eller nolla så fungerar det, men jag vill helst slippa en if-sats.
jag hade samma problem för ett tag sen, @nders hjälpte nog mig med det om jag inte minns fel.. eller LarsG..
MmrblondeMedlem sedan aug. 20012 349 inlägg Har du testat att stoppa in False?
Annars kan du ju skriva så här tror jag...
INSERT INTO news (adminid, headline, startdate, enddate, limitdate) VALUES (35,'test1','2003-05-05','2001-01-01', cint(Falskt))
Access är jag ingen expert på , men oftast är det bätre att använda 1/0 som true false, det har jag märk sparar många bekymmer. Det allra sämsta brukar vara att använda svenska ord.
SkarreMedlem sedan apr. 20012 427 inlägg
mrblonde skrev:
Det allra sämsta brukar vara att använda svenska ord.
Strängen jag bifogade skrevs ut av en ASP-sida och är, som sagt, ett booleanskt värde i själva ASP-koden. Att det står "Falskt" kan jag inte göra så mycket åt.
Macce skrev:
Prova '0' -istället...
Som sagt: byter jag ut värdet mot en etta eller nolla så fungerar det, men jag vill helst slippa en if-sats.
Det får bli en if-sats i alla fall. Tack för hjälpen!
@ndersMedlem sedan juni 200032 967 inläggDu behöver ingen if-sats egentligen. Det räcker med lite ful replacekod. ;-)
Replace(Replace(CStr(strDinVariabel), "Falskt", "False"), "Sant", "True")
Alternativt kan man skriva det med IIF, men då krävs att man definierar den funktionen på sidan. Jag har aldrig förstått varför inte IIF ingår i VBScript.
Mvh,