ASP Classic - 如果测试失败

时间:2014-01-24 21:42:26

标签: sql asp-classic recordset

我真的不明白为什么if测试总是失败。我已经验证了会话变量sCrs_cde(课程代码)是正确的,并且只存在于sql查询返回的多个记录中的一个中。 (它是与年和学期相关的外键的一部分)。我试图为课程标题设置值,但它总是写为空值('')

Dim Recordset1
Dim Recordset1_cmd
Dim Recordset1_numRows

Set Recordset1_cmd = Server.CreateObject ("ADODB.Command")
Recordset1_cmd.ActiveConnection = MM_Jenz_STRING
Recordset1_cmd.CommandText = "SELECT ID_NUM, Crs_Title, YR_CDE, TRM_CDE, CRS_CDE, TRANSACTION_STS, SUBTERM_CDE FROM dbo.STUDENT_CRS_HIST WHERE ID_NUM = ? And Transaction_sts = 'C' "

Recordset1_cmd.Prepared = true
Recordset1_cmd.Parameters.Append Recordset1_cmd.CreateParameter("param1", 5, 1, -1, Recordset1__MMColParam) ' adDouble

Set Recordset1 = Recordset1_cmd.Execute
Recordset1_numRows = 0
%>
<%
Do While not Recordset1.Eof 
   response.write(Recordset1.Fields.Item("CRS_cde").Value)
  IF (Recordset1.Fields.Item("CRS_cde").Value) = (Session("sCrs_cde")) THEN
      Session("sCrs_Title") = (Recordset1.Fields.Item("CRS_Title").Value)
      Session("sYr_cde") = (Recordset1.Fields.Item("YR_CDE").Value)
      Session("sTrm_cde") = (Recordset1.Fields.Item("Trm_Cde").Value)
      Session("sSubterm_cde") = (Recordset1.Fields.Item("Subterm_cde").Value)
      EXIT Do
   ELSE
     Recordset1.movenext
   END IF
Loop

1 个答案:

答案 0 :(得分:0)

谢谢大家。每个编程101课都教导我犯了一个愚蠢的错误。我没有贬低价值观。我不知道多余的空间来自哪里,因为从数据库中检索了两个值(不同的表),但是在if语句中对两个值进行了rtrimming之后,我终于让它通过了。