Tautan selanjutnya akan membawa Anda ke tutorial yang bagus, yang banyak membantu saya!
Bagaimana cara SQLITE dalam C #
Saya hampir menggunakan semua yang ada di artikel itu untuk membuat database SQLite untuk Aplikasi C # saya sendiri.
Jangan lupa untuk mengunduh SQLite.dll, dan tambahkan itu sebagai referensi untuk proyek Anda. Ini dapat dilakukan dengan menggunakan NuGet dan dengan menambahkan dll secara manual.
Setelah Anda menambahkan referensi, lihat dll dari kode Anda menggunakan baris berikut di atas kelas Anda:
using System.Data.SQLite;
Anda dapat menemukan dll di sini:
SQLite DLL
Anda dapat menemukan jalan NuGet di sini:
NuGet
Selanjutnya adalah skrip buat. Membuat file database:
SQLiteConnection.CreateFile("MyDatabase.sqlite");
SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;");
m_dbConnection.Open();
string sql = "create table highscores (name varchar(20), score int)";
SQLiteCommand command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
sql = "insert into highscores (name, score) values ('Me', 9001)";
command = new SQLiteCommand(sql, m_dbConnection);
command.ExecuteNonQuery();
m_dbConnection.Close();
Setelah Anda membuat skrip buat di C #, saya pikir Anda mungkin ingin menambahkan transaksi rollback, lebih aman dan itu akan menjaga database Anda dari kegagalan, karena data akan dilakukan pada akhirnya dalam satu bagian besar sebagai operasi atom ke database dan tidak dalam potongan kecil, di mana itu bisa gagal pada 5 dari 10 pertanyaan misalnya.
Contoh tentang cara menggunakan transaksi:
using (TransactionScope tran = new TransactionScope())
{
//Insert create script here.
//Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
tran.Complete();
}
System.Transactions.TransactionScope
tidak berfungsi seperti yang diharapkan, itu akan mengeksekusiExecuteNonQuery
segera dan tidak semua bersama-sama, sepertiSQLiteTransaction
. Mengapa menggunakanTransactionScope
?SQLiteTransaction tr = m_dbConnection.BeginTransaction(); SQLiteCommand command = new SQLiteCommand(...); command.Transaction = tr;
menggunakanTransactionScope