我有這樣的查詢:在ASP(VBS)ADO LIKE查詢
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
不過,我得到指出的錯誤No value given for one or more required parameters.
。 我爲@dtfr,@dttl和@sok指定了值。此外,如果我將包含@sok的部分(@dttl後的所有內容)移除到ORDER BY,則錯誤消失。
我已經讓舒爾指定了sok的值,並且它不是空的。我甚至試過指定2個名爲sok的參數(因爲它們是兩個地方)。任何人都知道我可以做到這一點?
我用它來創建參數的代碼如下:
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
你確定這個類型(adVarChar)嗎? – Fionnuala 2010-06-30 08:31:35
另外,不要指定255作爲長度,而要做len(sok)。您也可以在1行代碼中添加參數。這是我總是這樣做的:AdoCmd.Parameters.Append AdoCmd.CreateParameter(「@ name」,adVarChar,adParamInput,Len(Name),Name) – Rob 2010-06-30 08:39:47
是的,adVarChar是正確的。我知道你可以在一行中做到這一點,但我寧願添加一個函數,該函數需要cmd,名稱,類型,長度和值,並且這會對我產生影響。我覺得它更容易閱讀:) – Alxandr 2010-06-30 08:42:52