簡體   English   中英

帶VB6的SQL Server和ADO數據類型-從存儲過程為VARCHAR(MAX)OUTPUT參數設置什么大小?

[英]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很好,但在輸出參數上則不行

對於adLongVarCharadLongVarWChar參數的大小,請使用-1 ,而不要像您的代碼片段中那樣使用adVarChar (在枚舉項名稱中缺少Long )。

順便說一句,在adParamInputadParamOutput方向adParamOutput如您的Q所建議的那樣adParamOutput ,即,建議一個帶有方向的問題設法減慢了在此處找到答案的速度。

暫無
暫無

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

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