イントレ。
更新するネタが無いので。(汗)
◇SQLiteConnectionStringBuilder
接続文字列の自動生成。
プロパティ設定してToString()で取得できる。
◇SQLiteDataAdapter
DataSet/DataTableとのやり取りに使用。
最低限、Select文を渡して置く必要がある。SELECT * FROM hoge みたいな。
Fill()でDB読み込み、Update()でDB更新。
◇SQLiteCommandBuilder
UPDATE/INSERT/DELETE文の自動生成。
SELECT文設定済みのDataAdapterが必要。
◇読むとき
var conn = new SQLiteConnection(...);
var da = new SQLiteDataAdapter(...);
var ds = new DataSet();
da.Fill(ds, "hoge");
◇書くとき
var conn = new SQLiteConnection(...);
conn.Open();
var ts = conn.BeginTransaction();
var da = new SQLiteDataAdapter(...);
var cb = new SQLiteCommandBuilder(da);
da.UpdateCommand = cb.GetUpdateCommand();
da.InsertCommand = cb.GetInsertCommand();
da.DeleteCommand = cb.GetDeleteCommand();
da.Update(table);
ts.Commit();
◇LINQ
// System.Data.DataSetExtensions.dllの参照が必要
new DataTable(...)
.AsEnumerable()
.Where(row => row.Field("column1") == "hoge")
.Select(row => row);
こんなことせずに素直にEntityFramework使う方が賢い気はするけど、敢えて。
◇SQLiteConnectionStringBuilder
接続文字列の自動生成。
プロパティ設定してToString()で取得できる。
◇SQLiteDataAdapter
DataSet/DataTableとのやり取りに使用。
最低限、Select文を渡して置く必要がある。SELECT * FROM hoge みたいな。
Fill()でDB読み込み、Update()でDB更新。
◇SQLiteCommandBuilder
UPDATE/INSERT/DELETE文の自動生成。
SELECT文設定済みのDataAdapterが必要。
◇読むとき
var conn = new SQLiteConnection(...);
var da = new SQLiteDataAdapter(...);
var ds = new DataSet();
da.Fill(ds, "hoge");
◇書くとき
var conn = new SQLiteConnection(...);
conn.Open();
var ts = conn.BeginTransaction();
var da = new SQLiteDataAdapter(...);
var cb = new SQLiteCommandBuilder(da);
da.UpdateCommand = cb.GetUpdateCommand();
da.InsertCommand = cb.GetInsertCommand();
da.DeleteCommand = cb.GetDeleteCommand();
da.Update(table);
ts.Commit();
◇LINQ
// System.Data.DataSetExtensions.dllの参照が必要
new DataTable(...)
.AsEnumerable()
.Where(row => row.Field
.Select(row => row);
こんなことせずに素直にEntityFramework使う方が賢い気はするけど、敢えて。
Loading...
Utilities
- タグ
- カレンダー
- 最近の更新
- Adsense