23. februar 2007 - 07:35Der er
5 kommentarer og 1 løsning
Undgå fejl ved tomt Recordset
Hej eksperten.
Findes der en simpel måde man kan undgå at den smider denne fejl når mit recordsæt er tomt?
----------------------------- ADODB.Recordset.1 (0x80020009) Either BOF or EOF is True, or the current record has been deleted; the operation requested by the application requires a current record. -----------------------------
jeg bruger følgende kode til udtræk
<% StrSQL = "" StrSQL = "Select * from person WHERE ID="+id Set objRSx = objConn.Execute(strSQL) %>
If Not (objRSx.BOF Or objRSx.EOF) Then Do While Not objRSx.EOF Response.write (objRSx("beskrivelse")) rs.MoveNext Loop else Response.write "TOMT RECORDSET" end if
If Not (objRSx.BOF Or objRSx.EOF) Then Do While Not objRSx.EOF Response.write (objRSx("beskrivelse")) objRSx.MoveNext Loop else Response.write "TOMT RECORDSET" end if
Hvis det bare er for at undgå iteration af et tomt recordset, er der ikke nogen grund til at lav en if-then omkring løkken, hvis bare du flytter stopbetingelsen op i starten af løkken i stedet for at lade den ligge i bunden. Så den løsning som gawi skriver til sidst bare uden if-sætningen omkring:
Do While Not objRSx.EOF Response.write (objRSx("beskrivelse")) objRSx.MoveNext Loop
Det er så ganske korrekt at hvis du vil lave et speciel håndtering af at recordsettet er tomt, så skal du have if-sætningen med - og det er altså ikke nødvendigt at checke på BOF, når man benytter firehose recordset (Forward Only), som er den slags recordset der som standard returneres af en connection.execute.
If Not objRSx.EOF Then Do While Not objRSx.EOF Response.write objRSx("beskrivelse") objRSx.MoveNext Loop Else Response.write "ingen poster i resultatet" End If
OK, men der var som sådan ikke noget nyt i det jeg skrev ifht. gawi, bare en uddybende bemærkning, så jeg synes gawi skal krediteres for sin løsning :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.