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

質問編集履歴

1

当該箇所のコード(概要)を追記しました。 -- 2019/08/13

2019/08/13 06:44

投稿

t.kusu
t.kusu

スコア21

title CHANGED
File without changes
body CHANGED
@@ -27,4 +27,51 @@
27
27
 
28
28
 
29
29
  よろしくお願いします。
30
- 以上です。
30
+ 以上です。
31
+
32
+ 以下、追記です。
33
+ ### 当該部分のコードは以下のようにしています。
34
+ ※そのまま書けないので、概要化しています。
35
+ ```C#
36
+ // データを処理する部分
37
+ using( var connection = new MySqlConnection( connection_string ) )
38
+ {
39
+ connection.Open();
40
+
41
+ Parallel.For( 0, 3, id =>
42
+ {
43
+ while( !<終了条件> )
44
+ {
45
+ // <sql> を用意する
46
+ // <param> を用意する
47
+ var res = GetData( connection, <sql>, <param> );
48
+ // res をいろいろする
49
+ }
50
+ });
51
+ }
52
+
53
+ // DB にアクセスする部分
54
+ public DataTable[] GetData( MySqlConnection connection, string sql, Hashtable param )
55
+ {
56
+ var ret = new List<DataTable>();
57
+
58
+ using( var command = new MySqlCommand( sql, connection ) )
59
+ {
60
+ foreach( DictionaryEntry item in <param> )
61
+ {
62
+ coomand.Parameters.Add( new MySqlParameter( item.Key.ToString(), item.Value ?? System.DBNull.Value ) );
63
+ }
64
+
65
+ using( var adapter = new MySqlDataAdapter( command ) )
66
+ {
67
+ using( var ds = new DataSet() )
68
+ {
69
+ lock( this ) adapter.Fill( ds );
70
+ foreach( Data.DataTable item in ds.Tables ) ret.Add( item );
71
+ }
72
+ }
73
+ }
74
+
75
+ return ret.ToArray();
76
+ }
77
+ ```