Polecenie INSERT SQLLite + C#

0

Mam problem z wykonaniem polecania INSERT z programu w C# do bazy SQL. Czy mógłby ktoś przybliżyć jak należy poprawnie to zrobić?

SQLiteConnection connection = new SQLiteConnection ("Data Source=baza_danych.s3db");
        connection.Open();

        SQLiteCommand cmd = new SQLiteCommand();
        cmd.CommandText = "INSERT INTO tabela ([Nazwisko])" + "VALUES ('@xsa')";
        cmd.CommandType = System.Data.CommandType.Text;
            
            
            
            cmd.Parameters.AddWithValue("@xsa", BazaDanych.nazwa);


            cmd.Connection = connection;
            cmd.ExecuteNonQuery();
            connection.Close(); 

Polecenie teoretycznie się wykonuje jednak nie ma nowego rekordu w bazie. Nie pojawia się żaden błąd/komunikat. Powinienem coś zmienić, dopisać?
Czy trzeba wykonać polecenie odświeżające rekordy w bazie?

3

Xiuthechutli, przepraszam, ale chrzanisz. Nie obi się commita, jeśli nie robi się transakcji.

@kamillo21: tu masz rozwiązanie swojego problemu: http://stackoverflow.com/questions/15535715/c-sharp-sqlite-insert-into-does-not-work. W skrócie - chodzi o to, że masz dwa pliki z bazą danych, jeden w katalogu z projektem, drugi w katalogu bin, kopiowany przy każdej kompilacji projektu. Ponieważ katalogiem domyślnym dla Twojego programu jest katalog, z którego uruchamiany jest program, to używany jest nie oryginał pliku z bazą danych, a jego ciągle nadpisywana kopia z bin. Rozwiązanie tego problemu znajdziesz w przytoczonym linku albo wymyślisz sam.

0

OK, a jest jakaś możliwość przenoszenia tych danych do bazy podstawowej? Bo rozumiem, że baza robocza z katalogu bin jest zerowana przy każdym uruchomieniu programu.

0

No już nie przesadzaj, mogłeś pomyśleć samodzielnie przez chwilę. Przecież wystarczy, że przeniesiesz plik z bazą do katalogu bin, albo usuniesz go z projektu (ale nie z dysku!), albo we właściwościach pliku w projekcie w pozycji Copy to Ouput Directory zmienisz "Copy always" na cokolwiek innego (to rozwiązanie miałeś opisane w linku, który podałem). Widzę, że z Twoim angielskim krucho...

0

Dzięki bardzo za pomoc :) Temat do zamknięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1