Visual StudioでのSQLiteの使用

C#でSQLiteを使う

NuGet 参照の追加

  1. ツール → NuGet パッケージマネージャー → ソリューションのNuGet パッケージの管理
  2. 参照でSQLiteを検索
  3. System.Data.SQLiteを選択してプロジェクトにインストール

Select文の読み込み

Visual Stdio SQLite
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Connection String の作成
string dataSource = @"C:\Test.db";
SQLiteConnectionStringBuilder sQLiteConnectionStringBuilder
    = new SQLiteConnectionStringBuilder { DataSource = dataSource };
 
using (var cn = new SQLiteConnection(sQLiteConnectionStringBuilder.ToString()))
{
    cn.Open(); // Connection オープン
    using (var cmd = new SQLiteCommand(cn))
    {
        cmd.CommandText = "select * from Categories;";
        using (var reader = cmd.ExecuteReader()) // SELECT 読み込み
        {
            while (reader.Read())
            {
                int ID = reader.GetInt32(0);
                string CategoryName = reader.GetString(2);
                DateTime Date = reader.GetDateTime(2);
                double Price = reader.GetDouble(4);
                string Memo = reader.GetTextReader(6).ReadToEnd();
            }
        }
    }
}
  

INSERT

// Connection String の作成
string dataSource = @"C:\Test.db";
SQLiteConnectionStringBuilder sQLiteConnectionStringBuilder 
    = new SQLiteConnectionStringBuilder { DataSource = dataSource };

using (var connection 
    = new SQLiteConnection(sQLiteConnectionStringBuilder.ToString()))
{
    // Insert
    using (var command = new SQLiteCommand(connection))
    {
        // トランザクションを開始
        using (var transaction = connection.BeginTransaction())
        {
            foreach (var Member in list)
            {
                command.CommandText 
                    = "INSERT INTO Table1(Id, FirstName, Age) VALUES(@Id, `firstName, @Age);";
                command.Parameters
                    .Add(new SQLiteParameter("@Id", Member.TaxiMap));
                command.Parameters
                    .Add(new SQLiteParameter("@FirstName", Member.FirstName));
                command.Parameters
                    .Add(new SQLiteParameter("@Age", Member.Age));      
                command.ExecuteNonQuery();
            }
            transaction.Commit();
        }
    }
}
 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください