webForumDet fria alternativet

använda EXISTS på databaser

8 svar · 431 visningar · startad av galenarm

galenarmMedlem sedan aug. 200035 inlägg
#1

Är det någon som vet hur man använder EXISTS för att tex kunna kontrollera om en viss användare finns i en databas (vid inloggning)?

/galenarm

@ndersMedlem sedan juni 200032 969 inlägg
#2

jajemen, men först och främst: välkommen hit!

if exists (select * from tabellen where anvandarnamn = 'bengt' and losenord = 'jupps') select 1 else select 0

då får du alltså ett recordset där rs(0) är 1 om inloggning är ok, 0 annars.

mvh,

------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
If a packet hits a pocket on a socket on a port
and the bus is interrupted as a very last resort
and the address of the memory makes the data link abort,
then the socket packet pocket has an error to report.
</A>

galenarmMedlem sedan aug. 200035 inlägg
#3

tack

Vad kommer recordsetet ifrån?

Kan man inte använda

if exists (select * from tabellen where anvandarnamn = 'bengt-ove' and losenord = 'jupps') response.redirect("glad.asp") else response.redirect("lessen.asp")

så man slipper ha ett recordset.

/galenarm

@ndersMedlem sedan juni 200032 969 inlägg
#4

du måste ju få ett svar från databasen till din asp-sida innan du kan utvärdera för att kunna göra en response.redirect.

alltså:

set rs=connection.execute(sqlfrågan)
if cstr (rs(0)) = "1" then response.redirect "inloggningok.asp" else response.redirect "inloggningfel.asp"
rs.close
set rs=nothing

om du inte vill ha ett recordset får du nog skapa en stored procedure i sql server som slänger ifrån sig en ut-parameter till ett commandobjekt...

------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
If a packet hits a pocket on a socket on a port
and the bus is interrupted as a very last resort
and the address of the memory makes the data link abort,
then the socket packet pocket has an error to report.
</A>

galenarmMedlem sedan aug. 200035 inlägg
#5

Jag tror jag håller mig till recordset :)

DanmagnusMedlem sedan maj 2000269 inlägg
#6

detta borde vara samma sak. men egentligen det blir ju inget recordset om man inte använder SET.

IF (select * from tabellen where anvandarnamn = 'bengt' and losenord = 'jupps')=True THEN
response.rediret("fj.asp")
ELSE
response.redirect("eo.asp")
END IF

emissionMedlem sedan dec. 19996 721 inlägg
#7

...funkar ju inte. Man kan inte skriva sql-frågor direkt i ASP.

SweyMedlem sedan apr. 20003 971 inlägg
#8

Han kanske menar att han borde kunna det ;)

------------------
- Swey
Bäst, vackrast, styggast...

DanmagnusMedlem sedan maj 2000269 inlägg
#9

näjust, undrar vad jag tänkte på

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