经典ASP问题迭代存储过程的结果

时间:2013-06-18 10:00:17

标签: sql-server stored-procedures vbscript asp-classic ado

我有一个输出记录集的存储过程,但是当我遍历该记录集时,它只回写一个项目。

例如,如果我写:

vbsRS("fldDateSubmitted")&vbsRS("fldSubmittedBy")&vbsRS("fldDiaryEntry")

它只会显示vbsRS("fldDateSubmitted")值,就像我写的那样:

vbsRS("fldSubmittedBy")&vbsRS("fldDiaryEntry")

它只会显示vbsRS("fldSubmittedBy")值。

这没有任何意义,任何人都可以解释这件事吗?

这是存储过程调用:

With objCMD
  .ActiveConnection = vbsConn
  .CommandType = adCmdStoredProc
  .CommandText = "sp_GetTherapyDiaryEntries"

  ' Stored procedure parameters
  .Parameters.Append .CreateParameter("@WaltonNumber",adInteger, adParamInput)
  .Parameters.Append .CreateParameter("@EpisodeID",adInteger, adParamInput)
  .Parameters.Append .CreateParameter("@TherapyType",adInteger, adParamInput)

  .Parameters("@WaltonNumber") = vbsZhospitalnumber
  .Parameters("@EpisodeID") = vbsZEpisodeID
  .Parameters("@TherapyType") = 2

  set vbsRS = .Execute
End With

1 个答案:

答案 0 :(得分:0)

我找到了答案。

发生这种情况的原因是因为我有一些数据类型为VARCHAR(MAX),显然这是一个错误。将它们更改为VARCHAR(2000)或任何数字都可以解决问题。