C# Windows Form メモ
めちゃくちゃ初歩的なことですが毎回忘れてググったり嫌になったりしていることたちを、戒めのためにまとめました。
int XXbox_actionXX = Convert.ToInt32(textBox1.Text);
Dictionary<string, List<int>> LISTNAME = new Dictionary<string, List<int>>();
var key = $"{QueryID}@{Account}";
this.dataGridView1.Rows.Clear();
this.dataGridView1.Rows.Add(data1, data2, data3);
SelectQuery.ExecuteNonQuery();
※Readerで何もしない場合はExecuteNonQuery();で良い。その後While(reader.Read())とかで使うならSqlDataReader reader = SelectQuery.ExecuteReader();でReadrを開けておく必要あり。
ラジオボタンはGUIの画面で選択したときの処理(ステータス)を設定する。Group化してるときは初期値の設定も。
VSでSQL文を設定するとき、末尾にスペースを入れないSQL側で読んだ連結して見えちゃって構文エラーで怒られるのでスペースを入れましょう。
connectionとかreaderは1回の処理ごとに閉じる必要があるっぽい。connectionはMARSという機能を使うと一度のDBへのアクセスで済ませる方法があるように見える(http://stpsysdev.blogspot.com/2016/01/mars.html)。が、自分が詰まったのはconnectionではなくreaderが主だったのでMARSについては検証してない。
1つのソースで何度もDBにアクセスする場合、usingを使ってconnectionやreaderを開いたり閉じたり開いたり閉じたりする必要があるようだ(マジか?)。が、例えばスコープをまたいで変数を使いたかったりselect文の結果を見たいときはどうするんだ。
reader、「このreader開きっぱなしですよ! 閉じて!!」て怒るわりに、わかったよ~と閉じたら閉じたで「reader閉じてるからデータ読み込めないよ!!!」と怒ってくるのでつらい。reader.Close();を入れてる場所が悪いんだろうか……。
この記事が気に入ったらサポートをしてみませんか?