Jak mogę zaktualizować wartość komórki w tabeli dB, używając SQL Server CE i C # (Visual Studio 2010)

Piszę małą aplikację na studia, aplikację do wypożyczania filmów. Nie mam problemów z czytaniem z bazy danych, ale nie mogę zaktualizować danych w tabelach.

W szczególności chcę zaktualizować komórkę, pokazując ilość filmu w magazynie po tym, jak ktoś wypożyczy film.

Do tej pory próbowałem tego:

string updateDVDs = "UPDATE Products SET dvd_quantity = " + product.Quantity + " WHERE title = '"+ product.Name +"';";
cmdUpdateDVDs = new SqlCeCommand(updateDVDs, dBConnection);
dBConnection.Open();
cmdUpdateDVDs.ExecuteNonQuery();
dBConnection.Close();

Nie mam żadnych błędów, ale komórka nie aktualizuje się w tabeli. Każda pomoc byłaby bardzo mile widziana, daj mi znać, jeśli potrzebujesz dodatkowych informacji.

AKTUALIZACJA: OK, mam kilka interesujących zmian, zaktualizowałem kod do tego:

string updateDVDs = "UPDATE Products SET dvd_quantity = " + product.Quantity + " WHERE title = '" + product.Name + "'";
dBConnection = new SqlCeConnection(connectionString);
cmdUpdateDVDs = new SqlCeCommand(updateDVDs, dBConnection);
cmdUpdateDVDs.Connection.Open();
int rows = cmdUpdateDVDs.ExecuteNonQuery();
dBConnection.Close();

Z tego co mogę powiedzieć patrząc na MSDN obie metody są poprawne, ale ten drugi wydaje się działać. Teraz dziwne, wypożyczam film „Hard Hard”, wszystko idzie płynnie, mam te wyniki:

Wszystko dobrze, z tego punktu nie ma powrotu, więc zamknąłem aplikację i zacząłem od nowa. Po raz drugi wynajmuję „Die Hard”, aby potwierdzić i odnieść sukces !! nowy odczyt na dysku DVD wynosi 0 zgodnie z oczekiwaniami:

Ale kiedy otwieram tabelę produktów w Visual Studio, oryginalne wartości nadal tam są:

Nie tylko to, ale po ponownym uruchomieniu aplikacji po otwarciu tabeli w Visual Studio wielkości DVD są resetowane do oryginalnych wartości i zaktualizowane wartości zniknęły.

Czy brakuje mi tutaj czegoś prostego? Próbowałem odświeżyć stół, to nie ma znaczenia. Tak długo, jak nie otwieram tabeli w Visual Studio, aplikacja zachowuje się zgodnie z oczekiwaniami, bez względu na to, ile razy ją uruchomię, wartości są aktualizowane zgodnie z oczekiwaniami, dopóki sama nie otworzę tabeli.

questionAnswers(2)

yourAnswerToTheQuestion