Witam!
Mam problem z "wykrywaniem" zmian w datasecie: mianowicie zrobilem cos takiego na swoje potrzeby:
http://msdn2.microsoft.com/en-us/library/4esb49b4(VS.80).aspx
No i jak wykasuje wiersz z dataseta to jest to wykrywane, natomiast zmiana, dodatnie nowego niestety nie. Idąc dalej probujac zrobic update (zapis do bazy danych) zadne zmiany nie sa zapisywane :/
moj kod:

                AGCCarsDataSet.CarsDataTable deletedCars = (AGCCarsDataSet.CarsDataTable)aGCCarsDataSet.Cars.GetChanges(DataRowState.Deleted);
                if (deletedCars != null)
                {
                    Debug.WriteLine("deletedCars: " + deletedCars.Count.ToString() + ", FCode: ");
                }

                AGCCarsDataSet.CarsDataTable newCars = (AGCCarsDataSet.CarsDataTable)aGCCarsDataSet.Cars.GetChanges(DataRowState.Added);
                if (newCars != null) Debug.WriteLine("newCars: " + newCars.Count.ToString());

                AGCCarsDataSet.CarsDataTable modifiedCars = (AGCCarsDataSet.CarsDataTable)aGCCarsDataSet.Cars.GetChanges(DataRowState.Modified);
                if (modifiedCars != null) Debug.WriteLine("modifiedCars: " + modifiedCars.Count.ToString());


                AGCCarsDataSet.CarsDataTable unchangedCars = (AGCCarsDataSet.CarsDataTable)aGCCarsDataSet.Cars.GetChanges(DataRowState.Unchanged);
                if (unchangedCars != null) Debug.WriteLine("unchangedCars: " + unchangedCars.Count.ToString());

                try
                {
                    // Remove all deleted records.
                    if (deletedCars != null)
                    {
                        carsTableAdapter.Update(deletedCars);
                    }

                    // Add new records.
                    if (newCars != null)
                    {
                        carsTableAdapter.Update(newCars);
                    }

                    // Update all modified records.
                    if (modifiedCars != null)
                    {
                        carsTableAdapter.Update(modifiedCars);
                    }

                }

                catch (System.Exception ex)
                {
                    MessageBox.Show("Update failed: " + ex);
                }

                finally
                {
                    if (deletedCars != null)
                    {
                        deletedCars.Dispose();
                    }
                    if (newCars != null)
                    {
                        newCars.Dispose();
                    }
                    if (modifiedCars != null)
                    {
                        modifiedCars.Dispose();
                    }
                }

                aGCCarsDataSet.AcceptChanges();
            }

Co jest nie tak? majac 4 wiersze zmieniajac np 3 i kasujac ostatni dostaje w wyniku 1 usuniety, 3 niezmodyfikowane :/ Niestety nawet ten jeden usuniety nie jest usowany z bazy...
Nigdzie bledow kompilator nie zglasza.
Gdzie szukac przyczyny ?