Sqlite DataAdapter не обновляется при вызове - PullRequest
0 голосов
/ 21 февраля 2019

Я должен написать одинаковые таблицы для двух разных баз данных Sqlite.Таблицы переписывают существующие данные и идентификаторы, поэтому в настоящее время я просто удаляю всю таблицу и переписываю.В зависимости от порядка записи в базу данных, C # SQLiteCommandBuilder не обновляет второй вызванный DB.

Если я позвоню Db_A до Db_B, то A будет записано, а B будет удалено и наоборот.Может кто-нибудь сказать мне, почему вторая таблица вводит код для удаления, но адаптер Sqlite никогда не обновляет вторую таблицу?Это тоже не выдает ошибку.

public static bool WriteDt_Name(DataTable dt)
{
    using (connA = GetDbAConn())
    {
        SaveDataTable(connA, dt);
    }
    using (connB = GetDbBConn())
    {
        SaveDataTable(connB, dt);
    }
    return true;
}

public static void SaveDataTable(SQLiteConnection conn, DataTable dt)
{
    string table = dt.TableName;
    var cmd = conn.CreateCommand();

    cmd.CommandText = string.Format("DELETE FROM {0}", table);
    int val = cmd.ExecuteNonQuery();

    cmd.CommandText = string.Format("SELECT * FROM {0}", table);

    using (var adapter = new SQLiteDataAdapter(cmd))
    {
        using (SQLiteCommandBuilder builder = new SQLiteCommandBuilder(adapter))
        {
            adapter.Update(dt);
            conn.Close();
        }
    }
}

public static SQLiteConnection GetDbAConn()
{
    string base_dir = System.AppDomain.CurrentDomain.BaseDirectory;
    string path = Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetParent(Directory.GetParent(base_dir).ToString()).ToString()).ToString()).ToString()).ToString();
    path = path + "\\db\\DbA.sqlite;";
    SQLiteConnection conn = new SQLiteConnection("Data Source=" + path + "Version=3;");
    return conn;
}

Я попытался разбить SaveDataTable на SaveDt_A и SaveDt_B и назвать его таким образом.Я все еще получаю тот же результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...