簡體   English   中英

sql日期參數化查詢asp經典

[英]sql date parameterized query asp classic

我正在嘗試使用 ASP 經典中的參數化查詢將日期保存到 SQL 表中。

該字段設置為輸入日期,我嘗試過類似的操作

Set sqlParameters(0)=cmdCreateParameterObj.CreateParameter("@DocDate", adDbDate, adParamInput, , "20160928")

我得到的錯誤是

應用程序對當前操作使用了錯誤類型的值。

我曾嘗試將 adDbDate 更改為其他內容,但到目前為止還沒有運氣。

有任何想法嗎?

編輯 - 這是我調用的函數,它附加了存儲在數組中的所有參數:

Function executeSQL(sqlQuery, allParameters)
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = DB 
cmd.CommandText = sqlQuery 
cmd.CommandType = adCmdText 
cmd.NamedParameters = true 
cmd.Prepared = true 
For p=0 To UBOUND(AllParameters) 
cmd.Parameters.Append AllParameters(p) 
Next 
Set TBL=cmd.Execute() 
Set cmd=Nothing 
End Function

ADODB.Command上定義Parameter的語法並不理想(據說OP 已經確認他們將參數傳遞給另一個函數,所以這種方法很好)

而是試試這個;

Dim cmd

Set cmd = Server.CreateObject("ADODB.Command")
With cmd
    'Set CommandType, ActiveConnection etc.
    '...
    'Adding parameters
    Call .Parameters.Append(.CreateParameter("@DocDate", adDBTimeStamp, adParamInput, 8, "2016-09-28"))
    '...
    'Execute and return results
End With
'...
'After use release memory
Set cmd = Nothing

... - 表示使ADODB.Command對象工作所需的其他代碼,因為問題在細節上非常有限,此信息留給 OP 進行鍛煉(SO 上的大量資源展示了如何執行此操作)。

adDBTimeStamp名為 constant 的數據類型更改為adDBTimeStamp (135),因為大多數 RDBMS 在adDBDate (133) 上使用它。


有用的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM