webForumDet fria alternativet

If-sats och SQL

10 svar · 606 visningar · startad av devotion

devotionMedlem sedan jan. 20013 582 inlägg
#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

emissionMedlem sedan dec. 19996 721 inlägg
#2
If not objConn.Execute("SELECT Task FROM tblTask WHERE Id = " & iNewTaskId  & " AND TasK='TO2005001'").EOF then
devotionMedlem 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

emissionMedlem 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?

devotionMedlem 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

@ndersMedlem sedan juni 200032 969 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

devotionMedlem sedan jan. 20013 582 inlägg
#7

Okidoki....

Thanx

GuffaMedlem 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.

devotionMedlem sedan jan. 20013 582 inlägg
#9

Hur skulle jag göra istället?

Mvh
henrik

@ndersMedlem sedan juni 200032 969 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

devotionMedlem sedan jan. 20013 582 inlägg
#11

:)

Hehe...

Okidoki...

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