【C#】Accessデータベースでデータを追加・更新・削除してみる
おはようございます。
先日、データの取得までやったので
さくっと追加・更新・削除もついでにやってみました。
(だいぶ簡単にですが)
プログラムは前回のものを流用しています。
スポンサーリンク
画面の修正
画面に追加・更新・削除ボタンを新設します。
プログラム
Form1.cs
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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; usingSystem.Windows.Forms; usingSystem.Data.Odbc; namespaceSampleAccessDatabase { publicpartial classForm1:Form { /// <summary> /// 接続文字列 /// </summary> privatestaticstringCONNECTION_STRING=@"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=D:\Sample.accdb; Uid=; Pwd =; "; /// <summary> /// 起動時の処理. /// </summary> publicForm1() { InitializeComponent(); // DataGridViewの設定 dataGridView1.AutoGenerateColumns=false; dataGridView1.Columns.Add("No","No"); dataGridView1.Columns.Add("Name","名前"); dataGridView1.Columns.Add("Sex","性別"); dataGridView1.Columns.Add("Age","年齢"); dataGridView1.Columns.Add("KbnCd","種別"); dataGridView1.Columns.Add("Favorite","好物"); dataGridView1.Columns[0].DataPropertyName="No"; dataGridView1.Columns[1].DataPropertyName="Name"; dataGridView1.Columns[2].DataPropertyName="Sex"; dataGridView1.Columns[3].DataPropertyName="Age"; dataGridView1.Columns[4].DataPropertyName="KbnCd"; dataGridView1.Columns[5].DataPropertyName="Favorite"; dataGridView1.Columns[0].SortMode=DataGridViewColumnSortMode.Automatic; // データ検索 search(); } /// <summary> /// データを検索、表示します. /// </summary> privatevoidsearch() { // データ取得 DataTable dt=newDataTable(); using(OdbcConnection con=newOdbcConnection(CONNECTION_STRING)) { con.Open(); stringsql="SELECT * FROM TBLCAT"; using(OdbcCommand cmd=newOdbcCommand(sql,con)) { using(OdbcDataAdapter adapter=newOdbcDataAdapter(cmd)) { adapter.Fill(dt); } } } dataGridView1.DataSource=dt; dataGridView1.Sort(dataGridView1.Columns[0],ListSortDirection.Ascending); } /// <summary> /// 追加ボタンクリックイベント. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> privatevoidbtn_add_Click(objectsender,EventArgse) { using(OdbcConnection con=newOdbcConnection(CONNECTION_STRING)) { con.Open(); stringsql="INSERT INTO TBLCAT VALUES(10, '5', 'こなつ', '♀', '6', '03', '布団')"; using(OdbcCommand cmd=newOdbcCommand(sql,con)) { intret=cmd.ExecuteNonQuery(); if(ret!=1) { MessageBox.Show("登録に失敗しました。"); } } } // 再検索 search(); } /// <summary> /// 更新ボタンクリックイベント. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> privatevoidbtn_upd_Click(objectsender,EventArgse) { using(OdbcConnection con=newOdbcConnection(CONNECTION_STRING)) { con.Open(); stringsql="UPDATE TBLCAT SET FAVORITE = 'CIAOちゅ〜る' WHERE NAME = 'りく'"; using(OdbcCommand cmd=newOdbcCommand(sql,con)) { intret=cmd.ExecuteNonQuery(); if(ret!=1) { MessageBox.Show("更新に失敗しました。"); } } } // 再検索 search(); } /// <summary> /// 削除ボタンクリックイベント. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> privatevoidbtn_del_Click(objectsender,EventArgse) { using(OdbcConnection con=newOdbcConnection(CONNECTION_STRING)) { con.Open(); stringsql="DELETE FROM TBLCAT WHERE NAME = 'こなつ'"; using(OdbcCommand cmd=newOdbcCommand(sql,con)) { intret=cmd.ExecuteNonQuery(); if(ret!=1) { MessageBox.Show("削除に失敗しました。"); } } } // 再検索 search(); } } } |
データ操作後、再検索できるように検索メソッドに処理を分離し、
新設したボタンそれぞれのクリックイベントにてデータ操作を実行します。
起動してみる
追加ボタンをクリックします。
こなつが追加されました。
続いて更新ボタンをクリックします。
りくの好物が更新されました。
続いて削除ボタンをクリックします。
こなつが削除されました。
まとめ
Access編はこのあたりで終了しそうです。
次回はまだ特に決めていませんが、また何か新しいことを試してみたいですね。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません