/// <summary> /// DB更新ボタン処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DBUpdateButton_Click(object sender, EventArgs e) { List <DaoTodo> daoTodoList = new List <DaoTodo>(); //現在のタスクリストを取得 foreach (DataRow row in Table.Rows) { DaoTodo daoTodo = new DaoTodo(); daoTodo.title = row["Label"].ToString(); daoTodo.description = row["Description"].ToString(); daoTodo.category = row["Category"].ToString(); daoTodo.is_done = (int)row["CheckBoxDone"]; daoTodoList.Add(daoTodo); } //取得したリストをDBに反映(DeleteInsert) string retStr = DaoTodo.DelIns(daoTodoList); if (retStr == "") { MessageBox.Show("DBへの反映が完了しました。"); } else { MessageBox.Show(retStr); } }
/// <summary> /// フォーム読み込み処理 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainForm_Load(object sender, EventArgs e) { //カテゴリマスタを読み込む //→後で対応 //DBから読み込んだTODOリストを反映 //selectを投げる List <DaoTodo> daoTodoList = new List <DaoTodo>(); string retStr = DaoTodo.Select(ref daoTodoList); if (retStr == "") { //DataTableへ値の挿入 //TODO:Tableのリセット処理 Table.Clear(); foreach (DaoTodo daoTodo in daoTodoList) { DataRow row = Table.NewRow(); row["Label"] = daoTodo.title; row["Description"] = daoTodo.description; row["Category"] = daoTodo.category; row["CheckBoxDone"] = daoTodo.is_done; Table.Rows.Add(row); } } else { MessageBox.Show(retStr); } }
static public string Select(ref List <DaoTodo> daoTodos) { string errMes = ""; try { //DB接続の作成 using (SQLiteConnection con = new SQLiteConnection("Data Source=" + DB_FILE_NAME)) { //DB接続開始 con.Open(); //コマンドの生成 using (SQLiteCommand cmd = con.CreateCommand()) { //SQL文の生成 StringBuilder sql = new StringBuilder(); sql.AppendLine("SELECT * FROM " + table_name); //コマンドセット cmd.CommandText = sql.ToString(); //コマンド実行 SQLiteDataReader reader = cmd.ExecuteReader(); //データ取得 while (reader.Read()) { //データ取得処理 DaoTodo daoTodo = new DaoTodo(); daoTodo.title = reader.GetFieldValue <string>(reader.GetOrdinal("title")); daoTodo.description = reader.GetFieldValue <string>(reader.GetOrdinal("description")); daoTodo.category = reader.GetFieldValue <string>(reader.GetOrdinal("category")); daoTodo.is_done = reader.GetFieldValue <long> (reader.GetOrdinal("is_done")); //long型でキャストすることで一旦解決。メモリ節約のため値の持ち方は検討。 daoTodos.Add(daoTodo); } } } } catch (Exception e) { errMes = e.ToString(); } return(errMes); }
public MainForm() { InitializeComponent(); InitDataTable(); DaoTodo.SetUp(); }