Hjælp til overblik over error i tilføj/slette proces
Der opstår en fejl når jeg sletter folk fra en liste... Jeg bruger to felter i min database med komma-separeret data, som jeg henter ud når jeg skal bruge det, men der kommer fejl når jeg vil slette, og igen hente ud.Mine scritps ser ud som følger:
1) Jeg tilføjer en ID til mit felt ekstra2:
rs("ekstra2")=rs("ekstra2") & "," & brugerID
rs.update
2) Jeg tilføjer ID til mit felt ekstra3 (vha checkfelt-array):
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM brugere WHERE brugerID=" & session("BrugerID")
rs.Open sql, Connect, 1, 2
strSelectedCheckedBoxes = replace(Request.Form("favorit"), " ", "")
rs("ekstra3")= "," & strSelectedCheckedBoxes
rs.update
3) Jeg sletter ID'er i de to felter:
strSelectedCheckedBoxes = replace(Request.Form("slet"), " ", "")
SQL = "select * from brugere WHERE brugerID=" & session("BrugerID")
Set rs=Connect.Execute(SQL)
idStr = strSelectedCheckedBoxes
idArr = Split(idstr,",") 'laver et array med de id'er der skal fjernes
do while not rs.EOF
ekstra2=rs("ekstra2")
ekstra3=rs("ekstra3")
for i=0 to ubound(idArr)
if inStr(1,","&ekstra2&",",","&idArr(i)&",",1)>0 then
ekstra2 = replace(ekstra2&",",","&idArr(i)&",",",")
ekstra2 = replace(ekstra2,",,",",")
end if
if inStr(1,","&ekstra3&",",","&idArr(i)&",",1)>0 then
ekstra3 = replace(ekstra3&",",","&idArr(i)&",",",")
ekstra3 = replace(ekstra3,",,",",")
end if
next
if ekstra2<>rs("ekstra2") or ekstra3<>rs("ekstra3") then
if len(ekstra2)>1 and right(ekstra2,1)="," then ekstra2=left(ekstra2,len(ekstra2)-1)
if len(ekstra3)>1 and right(ekstra3,1)="," then ekstra3=left(ekstra3,len(ekstra3)-1)
SQL = "update brugere set ekstra2 = '" & ekstra2 & "', ekstra3 = '" & ekstra3 & "' where brugerID=" & session("BrugerID")
Connect.Execute(SQL)
end if
rs.Movenext
loop
------------------------
Mit problem opstår når jeg sletter ID'er men KUN når det er den sidste ID i databasen...
Problemet opstår også når jeg tilføjer et ID efter at have slettet alle. Så kan den ikke liste. Der kommer et komma for meget ind, - eller også forsvinder det ikke når det er slettet.
Fejlen ligger et sted oppe i scriptet. Håber der er en som kan give et hint...
