webForumDet fria alternativet

Hur, posten finns inte med GetRows?

ASPur ASP

6 svar · 245 visningar · startad av iceM2

iceM2Medlem sedan mars 2001243 inlägg
#1

När man använder RecordSet-objektet är det ju enkelt att ge ett eget felmeddelande om en post inte finns i databasen.

Jag använder GetRows i min kod och den ser ut såhär:

'Ta reda pa lankens varde via QueryStringens ID varde
Dim iLankID, strUrl, arrUrl
iLankID = Request.QueryString("ID")

If IsNumeric(iLankID) Then
dbConnect dbUrl, Connection
strSQL = "UPDATE Lankar SET Klick = Klick + 1 WHERE ID = " & iLankID & ""
Connection.Execute(strSQL)
strSQL = "SELECT Url FROM Lankar WHERE ID =" & iLankID & ""
arrUrl = Connection.Execute(strSQL).GetRows()
Connection.Close
Set Connection = Nothing

If IsArray(arrUrl) Then
strUrl = arrUrl(0,0)
Response.Write "Du Kommer att redirectas till följande url: " & strUrl & " ..."
End If
Else
'skicka tillbaka anvandaren
Response.Write "ERROR!"
End If

Låt oss säga att användaren matar in ett ID manuellt som inte finns i databasen då får man ju ett felmeddelande. Hade jag användt RecSet att jag kunnat skriva något i stil med:

If objRS("id").EOF THEN

Hur gör jag motsvarande med GetRows utan att behöva ta hjälp av RecSet.Objektet?

Testade att använda ON Error Resum Next och det fungerade, men det måste väl finnas en bättre lösning?

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

SPiNMedlem sedan mars 20007 896 inlägg
#2
strSQL = "SELECT Url FROM Lankar WHERE ID =" & iLankID & ""
set RecSet = Connection.Execute(strSQL)

If Not RecSet.EOF Then
    arrRows = RecSet.GetRows ()
End If

RecSet.Close
Connection.Close
set RecSet = Nothing
set Connection = Nothing

If IsArray ( arrRows ) Then
...

Red.} Humma, missade lite av din kod.

------------------
SPiN, bjorne.w@telia.com

-- Wise men talk because they have something to say; fools, because they have to say something. --

[Redigerat av SPiN den 12 jan 2002]

MacceMedlem sedan apr. 2001425 inlägg
#3

Kan du inte använda:

IF IsEmpty(strUrl)=true THEN
finns ingen post
END IF

------------------
Tjäna pengar på dina idéer

iceM2Medlem sedan mars 2001243 inlägg
#4

Hur gör jag motsvarande med GetRows utan att behöva ta hjälp av RecSet.Objektet?

Spin, ditt exempel använder ju RecSet till detta, vilket jag redan vet hur man gör och därför helst vill undivka, för att slippa skapa ett RecSet-objekt, tack ändå.

Macce har ej hunnit testa ditt exempel, återkommer när jag vet om det fungerar.

Någon annan som har en alternativ lösning?

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

VideMedlem sedan dec. 19998 577 inlägg
#5

iceM2, du kommer aldrig ifrån att resultatet av din sökning hamnar i ett recordset först, sedan om du flyttar informationen till ett array eller inte är orelevant, du kommer aldrig ifrån att ett recordset skapas.

------------------
Mostly Harmless

iceM2Medlem sedan mars 2001243 inlägg
#6

iceM2, du kommer aldrig ifrån att resultatet av din sökning hamnar i ett recordset först, sedan om du flyttar informationen till ett array eller inte är orelevant, du kommer aldrig ifrån att ett recordset skapas.

Okej, så med andra ord måste jag göra nåt i den stilen som SPIN gjorde?

------------------
Ar i USA for tillfallet, kan ej anvanda svenska tecken, sorry...

LarsGMedlem sedan dec. 200012 464 inlägg
#7

Ja.

------------------
essentitia preter non sans multiplicandum

252 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
249 ms — hämta tråd, inlägg och bilagor (db)