C#アプリケーションコード内で、1つ以上のSQLiteデータベースを作成して操作したいと思います。
新しいSQLiteデータベースファイルを初期化し、読み取りと書き込みのために開くにはどうすればよいですか?
データベースの作成に続いて、テーブルを作成するためにDDLステートメントを実行するにはどうすればよいですか?
C#アプリケーションコード内で、1つ以上のSQLiteデータベースを作成して操作したいと思います。
新しいSQLiteデータベースファイルを初期化し、読み取りと書き込みのために開くにはどうすればよいですか?
データベースの作成に続いて、テーブルを作成するためにDDLステートメントを実行するにはどうすればよいですか?
次のリンクは、私を大いに助けてくれた素晴らしいチュートリアルにあなたを連れて行くでしょう!
私はその記事のほとんどすべてを使用して、自分のC#アプリケーション用のSQLiteデータベースを作成しました。
SQLite.dllをダウンロードし、プロジェクトへの参照として追加することを忘れないでください。これは、NuGetを使用し、dllを手動で追加することで実行できます。
参照を追加した後、クラスの先頭にある次の行を使用して、コードからdllを参照します。
using System.Data.SQLite;
あなたはここでdllを見つけることができます:
ここでNuGetの方法を見つけることができます:
次は作成スクリプトです。データベースファイルの作成:
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();
C#で作成スクリプトを作成した後、ロールバックトランザクションを追加することをお勧めします。これは、データが最後に1つの大きな部分で不可分操作としてコミットされるため、より安全で、データベースの障害を防ぎます。データベースであり、小さな断片ではありません。たとえば、10個のクエリのうち5番目で失敗する可能性があります。
トランザクションの使用方法の例:
using (TransactionScope tran = new TransactionScope())
{
//Insert create script here.
//Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
tran.Complete();
}