0
나는 왜 테스트가 항상 실패하는지 이해하지 못합니다. 세션 변수 sCrs_cde (코스 코드)가 올바른지 확인했으며 SQL 쿼리에서 반환 된 여러 레코드 중 하나에서만 존재합니다. (그것은 한 해와 한 학기에 묶인 외래 키의 일부입니다). 코스 제목의 값을 세우려고 시도하지만 항상 빈 값 ('')으로 작성합니다.ASP Classic - 테스트에 실패한 경우
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
CRS_cde는 어떤 데이터 유형입니까? 세션 ("sCRS_cde")을 변수에 저장하고 동일한 데이터 유형 (정수)인지 확인한 다음 비교합니다. 정수를 문자열과 비교하면 문제를 설명 할 수 있습니다 – Sparky
왜 while 루프 전에 서버 태그 ('%><%')가 있습니까 – meda
@meda - 아마 절단, 복사 및 붙여 넣기의 결과입니다. 그는 하나의 스크립트 블록을 닫고 불필요하지만 실제로 잘못되지 않은 다음 행에서 또 다른 문자열을 엽니 다. – John