webForumDet fria alternativet

kontrollera textfält mot databasen

5 svar · 187 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

har en liten fundering som jag inte har någon smidig lösning på, kanske ni kan hjälpa mig.
jag har en sida med ett textfält som hämtar en text från databasen, låt oss säga: 'Min kategori'
Sen vill jag kunna köra en update på texten och jämföra den mot databasen på två sätt:
1. Skriver jag typ 'Min kategori 2' och den redan finns i databasen så blir det ingen update.
2. men däremot om jag inte ändrar något och låter det stå 'Min kategori' så körs updaten (det kan finnas andra fälts som måste uppdateras).
kan man skriva detta i en ända sqlsats så jag slipper en massa if-taggar som jag har i dagsläget.
nånting hitåt borde den se ut

select name from categories where name = '" & strValue & "' and name <> '" & strValue & "'

...och om denna blir eof så körs en update typ!

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Det är onödigt att göra en select

  query = "update categories c set ... where id = ... and not exists" &_
" (select 1 from categoires where name = '" & strValue & "' and id <> c.id )"
doggelitoMedlem sedan juni 20003 076 inlägg
#3

aha! smart! tack! :bire

doggelitoMedlem sedan juni 20003 076 inlägg
#4

går det att få ut ett true/false värde eller liknande från update-strängen?

if update-strängen = false then
response.write "kategorin finns redan!"
else
......
end if
LarsGMedlem sedan dec. 200012 464 inlägg
#5

Du kan få tillbaka antalet rader som uppdaterades

query = "update ... "
connect.execute query,rows,128
if rows = 0 then
'inget uppdaterat
end if
doggelitoMedlem sedan juni 20003 076 inlägg
#6

Härligt! :birp

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