webForumDet fria alternativet
Logga in / Bli medlem

If-sats och SQL

ASP

10 svar · 606 visningar · startad av devotion

Medlem sedan jan. 20013 582 inlägg
Trådstart#1

Hej!

Har för mig att jag sett att man kan göra typ så här:


If objConn.Execute("SELECT Task FROM tblTask WHERE Id = " & iNewTaskId ) = "TO2005001" then

...

Kan man det?

Eller hur ska man göra?
det vore skönt att ibland slippa göra variabler..

Mvh
henrik

Medlem sedan dec. 19996 721 inlägg
#2
If not objConn.Execute("SELECT Task FROM tblTask WHERE Id = " & iNewTaskId  & " AND TasK='TO2005001'").EOF then
Medlem sedan jan. 20013 582 inlägg
#3

emission skrev:

If not objConn.Execute("SELECT Task FROM tblTask WHERE Id = " & iNewTaskId  & " AND TasK='TO2005001'").EOF then

Just det ja!

Men man kan bara jämföra det med .EOF ??

:birp

Henrik

Medlem sedan dec. 19996 721 inlägg
#4

Man jämför inte med EOF. Om SQL-satsen returnerar något så blir det "not EOF". Var det något annat du var ute efter?

Medlem sedan jan. 20013 582 inlägg
#5

Hehe.. Jag vet inte riktigt vad jag menar...

Men jag vet att man kan göra så här:

sNextTaskNr = objConn.Execute("SELECT * FROM tblSettings WHERE key = 'NextTaskNr'")("Value")

Så då var väl frågan egentligen om man kan hoppa över variabeln och jämföra i en if-sats

If objConn.Execute("SELECT * FROM tblSettings WHERE key = 'NextTaskNr'")("Value") = foo then
...

Vet inte om man behöver det.. men ibland kanske det kan vara skönt att slippa göra en variabel av det hela och sedan jämföra...

Mvh
henrik

Medlem sedan juni 200032 967 inlägg
#6

Ja, du KAN göra så. Jag ser inte riktigt meningen med det, och det kräver såklart att det alltid finns en post returneras. Vid EOF kraschar koden rätt rejält...

Mvh

Medlem sedan jan. 20013 582 inlägg
#7

Okidoki....

Thanx

Medlem sedan juni 2004533 inlägg
#8

Använd inte Execute på det där sättet. Det som händer är att recordsetet som returneras aldrig stängs, därmed kommer inte heller databaskopplingen att stängas. Ta hand om recordset-objektet ordentligt så att du kan stänga det korrekt.

Medlem sedan jan. 20013 582 inlägg
#9

Hur skulle jag göra istället?

Mvh
henrik

Medlem sedan juni 200032 967 inlägg
#10

devotion skrev:

Hur skulle jag göra istället?

Precis som du brukar. Öppna recordsetet, ta värden därifrån, jämför, stäng, etc. Dvs det du ville undvika, men... :)

mvh

Medlem sedan jan. 20013 582 inlägg
#11

:)

Hehe...

Okidoki...

257 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)