[英]Calling SQL Server stored procedure from VB.NET application. Output parameter is coming back blank
[英]SQL Server & ADO Data Types with VB6 - What Size to set for VARCHAR(MAX) OUTPUT parameter from a stored procedure?
從VB6調用存儲過程。
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_user_id", adVarChar, adParamInput, 8, lobjFPSysUtilsSBO.ExtractUserFromToken(strSessionTokenVal))
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_source_data_XML", adVarChar, adParamInput, -1, strXML_Warranty_RSRef)
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_unlock_object_flag", adBoolean, adParamInput, , blnUnlockObjectVal)
lcmdADOCommand.Parameters.Append lcmdADOCommand.CreateParameter("@p_return_data_flag", adBoolean, adParamInput, , True)
Set lobjADOParam = lcmdADOCommand.CreateParameter("@p_output_record_XML", adVarChar, adParamOutput, -1, strXML_RecordList_RSRef)
lobjADOParam.Size = 8000
lcmdADOCommand.Parameters.Append lobjADOParam
使用最后一個輸出參數...如果未將大小設置為8000,則會出現運行時錯誤
“參數對象定義不正確。提供的信息不一致或不完整”。
我在VB6中可以為VARCHAR(MAX)輸出使用的最大大小是多少? 在輸入上將大小設置為-1很好,但在輸出參數上則不行
對於adLongVarChar
或adLongVarWChar
參數的大小,請使用-1
,而不要像您的代碼片段中那樣使用adVarChar
(在枚舉項名稱中缺少Long
)。
順便說一句,在adParamInput
或adParamOutput
方向adParamOutput
如您的Q所建議的那樣adParamOutput
,即,建議一個帶有方向的問題設法減慢了在此處找到答案的速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.