teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2019/01/17 02:13

投稿

退会済みユーザー
answer CHANGED
@@ -18,4 +18,52 @@
18
18
 
19
19
  > このサーバーエクスプローラーの活用方法がイマイチわかりません。
20
20
 
21
- そのあたりは何を知りたいか具体的に書いてもらえないと、範囲が広すぎて説明が難しいです。
21
+ そのあたりは何を知りたいか具体的に書いてもらえないと、範囲が広すぎて説明が難しいです。
22
+
23
+ **【追記】**
24
+
25
+ 下の 2019/01/17 11:08 で述べた件を以下に書きます。
26
+
27
+ 1. の接続文字列の質問についてはセキュリティの問題も考えるということですが、以下の記事が暗号化も含めて詳しく説明していますので見てください。
28
+
29
+ 接続文字列と構成ファイル
30
+ [https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/connection-strings-and-configuration-files](https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/connection-strings-and-configuration-files)
31
+
32
+
33
+ Windows Forms アプリで、MySQL のテーブルのレコード一覧を ADO.NET + Connector/NET を使用して DataGridView に表示し、ユーザーがそれを編集して、編集結果を MySQL に反映するということをしていると思いますが、そうであれば、一度 Visual Studio のウィザードを使って定番の構成のアプリを作ってみてはいかがでしょう?
34
+
35
+ MySQL でもウィザードは使えます。ウィザードが自動生成するコードを見れば今後の開発の参考になると思います。
36
+
37
+ DB が SQL Server の場合ですが、以下のチュートリアル、
38
+
39
+ チュートリアル : データベースへのデータの保存 (単一テーブル)
40
+ [https://docs.microsoft.com/ja-jp/previous-versions/0f92s97z(v=vs.120)](https://docs.microsoft.com/ja-jp/previous-versions/0f92s97z(v=vs.120))
41
+
42
+ 10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
43
+ [https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688](https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688)
44
+
45
+ ・・・のように Visual Studio のデータソース構成ウィザードを利用して型付 DataSet + TableAdapter を作って、それを利用してアプリを作ると、以下のページの図のような構造のアプリが、ほとんど自分でコードを書くこと無しに作れます。
46
+
47
+ Windows フォーム アプリケーションでのデータへの接続
48
+ [https://docs.microsoft.com/ja-jp/previous-versions/wxt2cwcc(v=vs.120)](https://docs.microsoft.com/ja-jp/previous-versions/wxt2cwcc(v=vs.120))
49
+
50
+ 操作に慣れると 10 分もかからず作れるはずです。自力で一からコードを書く場合のような種々の問題に悩むことはなくなり、開発工数は激減するはずです。保守工数も減るはずです。お試しください。
51
+
52
+ **データソース構成ウィザードを利用して作った .xsd ファイル**
53
+
54
+ 自動生成された型付 DataSet + TableAdapter のコードは .Designer.cs に含まれています。
55
+
56
+ ![イメージ説明](28f94d6d3ae758d42a935503457bba05.jpeg)
57
+
58
+ **実行結果(自分ではコードは一行も書いていません)**
59
+
60
+ ![イメージ説明](05d2a8f2117355f75e87da08c64328a3.jpeg)
61
+
62
+ **【注】**
63
+
64
+ Visual Studio のウィザードが使う MySql.Data.dll のバージョン 6.9.8 と、GAC の MySql.Data.dll のバージョン 6.9.9 に不一致があって、それが原因でウィザードが期待通り動かないことがありました。
65
+
66
+ 質問者さんの環境ではどうか分かりませんが、以下に詳しい原因と解決策が書いてありますので、目を通してください。
67
+
68
+ MySQL での TableAdapter 構成ウィザード不具合
69
+ [http://surferonwww.info/BlogEngine/post/2018/02/10/tableadapter-configuration-wizard-does-not-work-properly-for-mysql.aspx](http://surferonwww.info/BlogEngine/post/2018/02/10/tableadapter-configuration-wizard-does-not-work-properly-for-mysql.aspx)

1

訂正

2019/01/17 02:13

投稿

退会済みユーザー
answer CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  > 4.サーバーの接続はデータを取得したいタイミングで接続し、データを取得したらその都度閉じるべきなのか?
16
16
 
17
- DataTable + DataAdapter を使う非接続型アクセスでは、DataAdapter が自動的に接続を Open して SQL Server よりデータを DataTable に取り込み、終わったら自動的に Close してくれますので、プログラマがそのあたりのコードを明示的に書く必要はないです。
17
+ DataTable + DataAdapter を使う非接続型アクセスでは、DataAdapter が自動的に接続を Open して DB よりデータを DataTable に取り込み、終わったら自動的に Close してくれますので、プログラマがそのあたりのコードを明示的に書く必要はないです。
18
18
 
19
19
  > このサーバーエクスプローラーの活用方法がイマイチわかりません。
20
20