webForumDet fria alternativet

kontrollera textfält mot databasen

Databaser & SQLur Databashanterare & SQL

5 svar · 187 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#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!

Medlem 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 )"
Medlem sedan juni 20003 076 inlägg
#3

aha! smart! tack! :bire

Medlem 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
Medlem 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
Medlem sedan juni 20003 076 inlägg
#6

Härligt! :birp

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