ジジイがVisualStudioを触ったり

アラフィフのおっさんが書いてる

C#でSQLite

SQLiteを使ったDBを触ってアプリを作ってる。SQLインジェクション対応もしておかないとと、パラメータ使ってコマンド発行するやつにした。

string filePath = Path.Combine(ApplicationData.Current.LocalFolder.Path, dbfilename);

SqliteConnection db = new SqliteConnection($"Filename={filePath}");

db.open()

でローカルディスク上のDBファイルを開いているとして、DBに追加するやつはこんな感じでよいらしい。例外処理がいるかどうかはよくわからんが、まぁDBがうまいこと開かんこともあるだろう。

       //新しい店名をDBに追加する
        internal static bool AddTenmei(string value)
        {
            try
            {
                using (var transaction = db.BeginTransaction())
                {
                    using (SqliteCommand command = db.CreateCommand())
                    {
                        command.CommandText = "INSERT INTO TENMEI (TNAME) VALUES (@VALUE)";
                        command.Parameters.AddWithValue("@VALUE", value);
                        command.ExecuteNonQuery();
                    }
                    transaction.Commit();
                }
                return true;
            }
            catch (Exception)
            {
                //TODO DBに追加できないときの処理
                return false;
            }
        }

 

って、まんま

9cubed.info

のパクリやねんけど。