как выполнить транзакцию в SQLitePCL - PullRequest
1 голос
/ 18 апреля 2020

Я пытаюсь перенести одно из моих приложений из macOS в Windows 10 UWP.

мой код для подключения sqlite

using SQLitePCL;
//...
SQLiteConnection connection;
connection = new SQLiteConnection(path);

, но в способе подключения я не могу узнать ни одной команды о выполнении транзакции

enter image description here

Я новичок ie для Windows 10 UWP и c#

Ваш комментарий приветствуется

1 Ответ

0 голосов
/ 18 апреля 2020

Вы можете использовать команду типа «НАЧАЛО ТРАНЗАКЦИИ»;

Этот код является одним из модульных тестов проекта SQLitePCL:

            using (var connection = new SQLiteConnection(this.databaseRelativePath))
            {
                using (var statement = connection.Prepare("DROP TABLE IF EXISTS TestQuery;"))
                {
                    statement.Step();
                }

                using (var statement = connection.Prepare("CREATE TABLE TestQuery(id INTEGER, i INTEGER, t TEXT, r REAL);"))
                {
                    statement.Step();
                }

                var beginTransactionCommand = "BEGIN TRANSACTION";

                using (var statement = connection.Prepare(beginTransactionCommand))
                {
                    statement.Step();
                }

                foreach (var record in insertedRecords)
                {
                    var command = "INSERT INTO TestQuery(id, i, t, r) VALUES(" + record.Item1.ToString(this.invClt) + "," + record.Item2.ToString(this.invClt)
                        + ",'" + record.Item3 + "'," + record.Item4.ToString(this.invClt) + ");";

                    using (var statement = connection.Prepare(command))
                    {
                        statement.Step();
                    }
                }

                var commitTransactionCommand = "COMMIT TRANSACTION";

                using (var statement = connection.Prepare(commitTransactionCommand))
                {
                    statement.Step();
                }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...