[ oggie @ 07.07.2009. 13:56 ] @
Imam ovakav kod u VB6 gde se krecem kroz recordset napred, nazad, neke redove brisem: rs.MoveFirst dd1 = rs!Datum1 dd2 = rs!Datum2 kat = rs!Kategorija rs.MoveNext Do While Not rs.EOF If rs!Kategorija = kat Then If rs!Datum1 = dd2 Then dd2 = rs!Datum2 rs.Delete rs.MovePrevious rs!Datum2 = dd2 kat = rs!Kategorija rs.Update End If rs.MoveNext Loop Sada ovo isto pisem u .NET c#, medjutim ne znam kako ovo funkcionise sa indexima jer ne dobijam dobar rezultat. dd1=(DateTime )dt.Rows [0]["Datum1"]; dd2=(DateTime )dt.Rows [0]["Datum2"]; kat=dt.Rows [0]["Kategorija"].ToString (); n = dt.Rows.Count; for(int i =1; i<n ;i++) { string kategorija=dt.Rows ["Kategorija"].ToString (); if (kategorija==kat) { pom = (DateTime)dt.Rows["Datum1"]; if(pom==dd2) { dd2=(DateTime )dt.Rows ["Datum2"]; dt.Rows .Delete (); dt.AcceptChanges(); n = n - 1; dt.Rows [i-1]["Datum2"]=dd2; kat = dt.Rows[i-1]["Kategorija"].ToString(); } } } dt.AcceptChanges (); Ako izbrisem red i=15, gde se nalazi tekuci kursor posle AcceptChanges, da li je tekuci 14 ili 16.Kako se ovo nacelno resava, mnogo mi nedostaje MovePrevious i MoveNext gde ne vodim racuna o indexima. |