webForumDet fria alternativet

SQL-fråga fungerar inte när jag sätter den i en Public function

ASP

1 svar · 150 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej och trevlig valborg på er allihop.

Den här SQL-frågan fungerar men så fort jag sätter den inom en public function så blir det fel. Varför?

Funktionen

	Public Function GetList(ByRef objListRS)

		'On Error Resume Next

		Dim sqlString

		sqlString = "SELECT O1.O_ID, O_CreateDate, O_Username, O_Foretag, O_Name, Z_title " &_ 
		"FROM Operators O1, Zones Z, ZoneAssignments AZ " &_ 
		"WHERE AZ.O_ID = O1.O_ID " &_
		"AND  Z.Z_ID = AZ.Z_ID " &_
		"ORDER BY Z_title DESC, O_Username ASC "
		objDB.OpenRS objListRS, sqlString

		If Err.Number = 0 Then
			GetList = True
		Else
			GetList = False
		End If

	End Function

Koden som använder funktionen
Den rödmarkerade raden får jag felmeddelandet på

Private Sub ListOps()

	Set objOps = New RealAdmin_Operators

	blnList = objOps.GetList(objListOpsRS)

	objListOpsRS.PageSize = intRecsPerPage
	[b][red]intLastPage = objListOpsRS.PageCount[/red][/b]

	If IsValidID(intCurrPage) = True AND intCurrPage > 0 AND objListOpsRS.EOF = False Then
		objListOpsRS.AbsolutePage = intCurrPage
	End If

	Set objOps = Nothing

	If objListOpsRS.EOF Then
%>
  <tr>
    <td colspan="4"><%=lngNoOps%></td>
  </tr>
  <tr>
    <td colspan="4" class="TDSep"><img src="../images/pixel.gif" width="1" height="1"/></td>
  </tr>
<%
	End If

	intRecordCount = 0

	Do While Not objListOpsRS.EOF AND intRecordCount < objListOpsRS.PageSize

		intID = objListOpsRS("O_ID")
		strCreateDate = objListOpsRS("O_CreateDate")
		strUsername = objListOpsRS("O_Username")
		strName = objListOpsRS("O_Name")
		'strForetag = objListOpsRS("Z_title")

%>
  <tr>
     <td align="center"><%=strForetag%></td>
	<td><a href="viewop.asp?OID=<%=intID%>&Recs=<%=intRecsPerPage%>&Page=<%=intCurrPage%>"><%=strUsername%></a></td>
	<td align="center"><%=strName%></td>
    <td align="center"><%=strCreateDate%></td>
    <td align="center"><a href="viewop.asp?OID=<%=intID%>&Recs=<%=intRecsPerPage%>&Page=<%=intCurrPage%>"><%=lngView%></a> | <a href="operators.asp?Action=DeleteOp&OID=<%=intID%>&Recs=<%=intRecsPerPage%>&Page=<%=intCurrPage%>"><%=lngDelete%></a></td>
  </tr>
  <tr>
    <td colspan="4" class="TDSep"><img src="../images/pixel.gif" width="1" height="1"/></td>
  </tr>
<%

		intRecordCount = intRecordCount + 1
		objListOpsRS.MoveNext

	Loop	

	objDB.CloseRS objListOpsRS
	objDB.Close

End Sub

Felmeddelande

ADODB.Recordset (0x800A0E78)
Åtgärden är inte tillåten när objektet är stängt.

Medlem sedan dec. 200012 464 inlägg
#2

Vad är objdb som du använder i funktionen?

256 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)