Polecenie INSERT SQLLite + C#

Polecenie INSERT SQLLite + C#
K2
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:11
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ć?

Kopiuj
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?

ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:7 dni
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.


edytowany 2x, ostatnio: ŁF
XI
Nie ma za co przepraszać, bo wygląda na to, że masz rację.
n0name_l
@Xiuthechutli: nie usuwaj postow, jesli ktos na nie odpowiedzial. Jak chcesz "cofnac" to co napisales, to uzyj <del>.
ŁF
Posprzątałem
K2
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:11
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.

ŁF
Moderator
  • Rejestracja:ponad 22 lata
  • Ostatnio:7 dni
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...


K2
  • Rejestracja:ponad 11 lat
  • Ostatnio:prawie 9 lat
  • Postów:11
0

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.