1. ホーム
  2. c#

[解決済み] SQLiteデータベースとテーブルの作成

2022-04-24 14:21:37

質問

C#アプリケーションコード内で、1つまたは複数のSQLiteデータベースを作成し、対話したいと思います。

新しい SQLite データベースファイルを初期化し、読み取りと書き込みのために開くにはどうすればよいですか?

データベースの作成後、DDLステートメントを実行してテーブルを作成するにはどうすればよいですか?

どのように解決するのですか?

次のリンクから、素晴らしいチュートリアルを見ることができます。

C#でSQLITEする方法

私は、この記事の内容をほぼそのまま使って、自分のC#アプリケーション用のSQLiteデータベースを作成しました。

SQLite.dllをダウンロードし、プロジェクトに参照として追加することを忘れないでください。 これは ニューゲット と手動でDLLを追加してください。

参照を追加した後、クラスの先頭で次の行を使用してコードからDLLを参照します。

using System.Data.SQLite;

dllはこちらで確認できます。

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#で作成スクリプトを作成した後、ロールバックトランザクションを追加したほうが安全で、データベースの障害を防ぐことができます。

トランザクションの使用例です。

 using (TransactionScope tran = new TransactionScope())
 {
     //Insert create script here.

     //Indicates that creating the SQLiteDatabase went succesfully, so the database can be committed.
     tran.Complete();
 }