webForumDet fria alternativet

hjälp med for each Falt in rs.fields

ASP

6 svar · 194 visningar · startad av henrikjohansson

Medlem sedan maj 2000360 inlägg
Frågan#1

Jag använder

for each Falt in rs.fields
rs(falt.name) = request.form(falt.name) 

next

för att uppdatera databasen..
Men det blir error eftersom tex Räknare är skrivskyddade..
Går det att kolla om fältet är readonly genom att typ skriva

for each Falt in rs.field
if not Falt.readonly then rs(falt.name) = request.form(falt.name) 

next

eller nått linkande..

Medlem sedan feb. 200112 078 inlägg
#2

Man kan ju vara lite grisig och göra ett undantag.

for each Falt in rs.fields

   if lcase(cstr(falt.name)) <> "id" then 
      rs(falt.name) = request.form(falt.name) 
   end if

next
Medlem sedan maj 2000360 inlägg
#3

jo det får kanske bli nått sånt.. men då blir inte sidan så jätte dynamisk ;D

Medlem sedan nov. 2002105 inlägg
#4

En annan grisig variant är ju att lägga till On Error resume next och i raden efter fånga upp felet och clear:a felet om det inte går att skriva till fältet.

On Error Resume Next
for each Falt in rs.fields
rs(falt.name) = request.form(falt.name) 
if Err.Number = 'Vad det nu blir för fel nummer then
Err.Clear
else
'Annat fel har inträffat avbryt loop
exit for
end if
'Fortsätt loopen

next 

On Error Goto 0
Medlem sedan feb. 200112 078 inlägg
#5

henrikjohansson skrev:

jo det får kanske bli nått sånt.. men då blir inte sidan så jätte dynamisk ;D

Hur ofta har man en räknare/primärnyckel som heter något annat än ID, samt hur ofta kommer du flytta scriptet/byta databas?

Medlem sedan maj 2000360 inlägg
#6

det är iofs ganska sällan :D

Medlem sedan feb. 200112 078 inlägg
#7

henrikjohansson skrev:

det är iofs ganska sällan :D

Dåså. ;)

361 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
229 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)