Program tworzy kopię schematu bazy danych zamiast używać właściwej - C#,WPF,SQLite

0

Witam. Mam problem z podłączeniem bazy SQLite do WPF. Po wskazaniu Data Source niby wszystko jest ok, program wstawia dane itp., ale robi to gdzieś indziej ! Rozmiar właściwej bazy nie zmienia się, a SQLite Manager widzi pustą bazę. W trybie debugowania widać że wierszę dodają się do bazy. W obiekcie SQLiteConnection pole Database="Main". Używałem biblioteki SQLite.Core , a teraz Microsoft.Data.Sqlite. Baza raczej nie zapisuje się do pamięci operacyjnej, ponieważ po ponownym uruchomieniu komputera dalej widzę dane w trybie debugowania. Wygląda na to że jest tworzona kopia schematu bazy, a następnie tworzenie jej w innym miejscu(?). Kod załączam poniżej.

using System;
using System.Windows;
using Microsoft.Data.Sqlite;
namespace WpfApp3
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            

            using (var oConn = new SqliteConnection(@"Data Source=D:\baza2.db"))
            using (var oCmd = new SqliteCommand("insert into NAMES(NAME,NAME2) values (1,2);", oConn))
            {
                oConn.Open();

                oCmd.ExecuteNonQuery();
                string sql = "select * from NAMES";
                SqliteCommand command = new SqliteCommand(sql, oConn);
                SqliteDataReader reader = command.ExecuteReader();
                while (reader.Read())
                {
                    
                    string databaseName = oConn.Database;

                    string name = reader.GetInt32(0).ToString();
                    string name2 = reader.GetInt32(1).ToString();

                }
                oConn.Close();
            }
             InitializeComponent();
        }
    }
}


0

Co się stanie jeśli InitializeComponent() dasz w 1-wszej linii konstruktora a nie w ostatniej?

0

Zgadywanka. Spróbuj otworzyć połączenie przed użyciem sqllitecommand. Albo coś nie tak z connectionstringiem.

0

Jak zmienię ConnectionString przy wpisywaniu danych rzuca wyjatkiem , że nie ma takiej tabeli w bazie danych.

[EDIT]
Znalazłem rozwiązanie !!! Okazało się że super świetny Comodo AV pomimo wyłączenia uruchamiał moją aplikację w izolowanym środowisku. Po usunięciu Comodo wszystko działa. Tylko 20 godzin zmarnowanych ....

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