Saya mencoba memigrasikan salah satu aplikasi saya dari macOS ke Windows 10 UWP.

Kode saya untuk menghubungkan sqlite

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

Tetapi dalam metode koneksi, saya tidak dapat menemukan perintah apa pun tentang pelaksanaan transaksi

enter image description here

Saya seorang pemula untuk Windows 10 UWP dan c#

Komentar Anda diterima

1
arachide 18 April 2020, 05:08

1 menjawab

Jawaban Terbaik

Anda dapat menggunakan perintah seperti "MULAI TRANSAKSI";

Kode ini adalah salah satu unit test dari proyek 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();
                }
}
0
Mate 18 April 2020, 02:50