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

Odpowiedz Nowy wątek
2018-11-18 11:28
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();
        }
    }
}

Pozostało 580 znaków

2018-11-18 16:06
niemand
0

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

Koniec świata. - jacek.placek 2018-11-18 18:06

Pozostało 580 znaków

2018-11-18 18:10
0

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

edytowany 1x, ostatnio: jacek.placek, 2018-11-18 18:10

Pozostało 580 znaków

2018-11-19 13:35
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 ....

edytowany 1x, ostatnio: mikerpl, 2018-11-19 16:10

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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