【发布时间】:2014-03-03 15:55:31
【问题描述】:
我有一个本地托管的网站,带有一个 MS SQL Server 数据库。我正在尝试从数据库中填充记录列表,但查询返回错误。
asp网页上的代码:
dim sRegID
sRegID = Request.QueryString("RegistrantID")
sSQL = "select CourseID, CourseSectionID, RegistrationID, RegistrantCourseID,AmountDeferred,PaymentType, DateSubmitted, (select TransactionID from qryRegistrantCoursePayment where RegistrantCourseID = qryRegistrantCoursedetail.RegistrantCourseID) as TransactionID, (select PaymentID from qryRegistrantCoursePayment where RegistrantCourseID = qryRegistrantCoursedetail.RegistrantCourseID) as PaymentID from qryRegistrantCourseDetail where RegistrationStatus in ('D') and RegistrantID = " & sRegID & " and AmountDeferred > 0 order by DateSubmitted"
Set rs = objconn.execute(sSQL)
错误信息:
Microsoft OLE DB Provider for SQL Server 错误“80004005”
子查询返回超过 1 个值。这是不允许的,当 子查询遵循 =、!=、、>= 或当子查询用作 一个表达式。
有人可以帮我解决这个问题吗?我在查询写作方面不是很有经验。提前致谢。 :)
好的,查询已通过连接修复...但现在 asp 正在运行。
Else
Response.Write "<table border=1 cellpadding=3 cellspacing=0>"
Response.write "<tr>"
Response.Write "<td>" & "<a href=""javascript:pick('','','','','','','','','')"">" & "None Selected" & "</a></td>"
Response.write "</tr>"
Do Until rs.eof
Response.Write "<tr>"
'Response.Write "<td>" & "<a href=""javascript:pick('" & trim(rs("BLDG_CD")) & "')'>" & trim(rs("AC_Title")) & "</a></td>"
Response.Write "<td>" & "<a href=""javascript:pick(" & quote(trim(rs("q.RegistrationID"))) & "," & quote(trim(rs("q.RegistrantCourseID"))) & "," & quote(trim(rs("q.CourseID"))) & "," & quote(trim(rs("q.CourseSectionID"))) & "," & quote(trim(rs("x.PaymentID"))) & "," & quote(trim(rs("q.AmountDeferred"))) & "," & quote(trim(rs("q.PaymentType"))) & "," & quote(formatdatetime(trim( rs("q.DateSubmitted") ),2)) & ",'" & trim("" & rs("x.TransactionID")) & "')"">" & formatcurrency(0 & rs("q.AmountDeferred"))& "</a></td>"
Response.Write "</tr>"
错误信息:
ADODB.Recordset 错误 '800a0cc1'
在与请求对应的集合中找不到项目 名称或序号。
我无法理解为什么错误是 ADODB 而我使用过
Set rs =objconn.execute(sSQL)
再次感谢您提供的任何帮助。
【问题讨论】: