J'ai une requête comme ceci:ADO dans ASP comme query (VBS)
SELECT TaFellesVaktjournal.*, TaBygg.ByggNavn
FROM TaFellesVaktjournal LEFT JOIN TaBygg ON
TaFellesVaktjournal.VaktFellesByggNavnId =
TaBygg.ByggBudsjtilstEiendom WHERE VaktjFellesDato
>= @dtfr AND VaktjFellesDato <= @dttl AND (VaktFellesSak
= @sok OR VaktjFellesHendelse = @sok) ORDER BY
VaktjFellesDato DESC, VaktjFellesTid DESC
Cependant, je reçois une erreur indiquant que No value given for one or more required parameters.
. J'ai spécifié des valeurs pour @dtfr, @dttl et @sok. En outre, l'erreur disparaît si je supprime les parties contenant @sok (tout après @dttl) à l'ORDER BY.
J'ai fait shure que je spécifie des valeurs pour sok, et que ce n'est pas vide. J'ai même essayé de spécifier 2 paramètres nommés sok (car ils sont deux endroits). Quelqu'un sait comment je peux faire ça?
Le code que j'utilise pour créer des paramètres est le suivant:
Dim conn, cmd, param
set cmd = server.createobject("adodb.command")
set param = server.createobject("adodb.parameter")
set param = cmd.createparameter("@sok", adVarChar, adParamInput, 255, sok)
cmd.parameters.append param
Etes-vous sûr du type (adVarChar)? – Fionnuala
De même, au lieu de spécifier 255 comme longueur, faites len (sok). Vous pouvez également ajouter un paramètre dans une ligne de code. Voici comment je vais toujours à ce sujet: AdoCmd.Parameters.Append AdoCmd.CreateParameter ("@ nom", adVarChar, adParamInput, Len (Nom), Nom) – Rob
Oui, adVarChar est correct. Et je sais que vous pouvez le faire en une ligne, mais j'ai plutôt ajouté une fonction qui prend le cmd, le nom, le type, la longueur et la valeur et fait cela avant moi. Je le trouve plus facile à lire :) – Alxandr