質問編集履歴

2

プログラムの記述が間違っていたため

2016/06/04 05:43

投稿

GiveAHand
GiveAHand

スコア286

test CHANGED
File without changes
test CHANGED
@@ -144,7 +144,7 @@
144
144
 
145
145
  case 1:
146
146
 
147
- cmd.Parameters["date"].Value = int.Parse(value);
147
+ cmd.Parameters["data"].Value = int.Parse(value);
148
148
 
149
149
  break;
150
150
 

1

プログラムの説明が足りなかった為。

2016/06/04 05:43

投稿

GiveAHand
GiveAHand

スコア286

test CHANGED
File without changes
test CHANGED
@@ -34,27 +34,13 @@
34
34
 
35
35
  ```C#
36
36
 
37
+ //SQLiteにデータ書き込み
38
+
37
- using (SQLiteTransaction trans = cn.BeginTransaction())
39
+ using (SQLiteConnection cn = new SQLiteConnection(dbConnectionString))
38
40
 
39
41
  {
40
42
 
41
-
42
-
43
- SQLiteCommand cmd = cn.CreateCommand();
44
-
45
-
46
-
47
- // インサート文
43
+ cn.Open();
48
-
49
- cmd.CommandText = "INSERT INTO TABLE_SAMPLE (ID, DATA) VALUES (@id, @data)";
50
-
51
-
52
-
53
- // パラメータのセット
54
-
55
- cmd.Parameters.Add("id", System.Data.DbType.UInt16);
56
-
57
- cmd.Parameters.Add("data", System.Data.DbType.String);
58
44
 
59
45
 
60
46
 
@@ -62,33 +48,173 @@
62
48
 
63
49
  {
64
50
 
65
-
51
+ // CSV インサート
52
+
66
-
53
+ using (SQLiteTransaction trans = cn.BeginTransaction())
54
+
55
+ {
56
+
57
+
58
+
59
+ SQLiteCommand cmd = cn.CreateCommand();
60
+
61
+
62
+
67
- // siteid
63
+ // インサート文
64
+
68
-
65
+ cmd.CommandText = "INSERT INTO TABLE_SAMPLE (ID, DATA) VALUES (@id, @data)";
66
+
67
+
68
+
69
+ // パラメータのセット
70
+
69
- cmd.Parameters["id"].Value = id;
71
+ cmd.Parameters.Add("id", System.Data.DbType.UInt16);
72
+
70
-
73
+ cmd.Parameters.Add("data", System.Data.DbType.String);
74
+
75
+
76
+
71
-
77
+ try
78
+
72
-
79
+ {
80
+
81
+
82
+
83
+ foreach (SelectResult csvfile in result)
84
+
85
+ {
86
+
87
+
88
+
89
+ // csvファイルを開く
90
+
91
+ using (var sr = new System.IO.StreamReader(@csvfile.filepath))
92
+
93
+ {
94
+
95
+
96
+
97
+ int csvcont;
98
+
99
+ csvcont = 0;
100
+
101
+
102
+
103
+ // ストリームの末尾まで繰り返す
104
+
105
+ while (!sr.EndOfStream)
106
+
107
+ {
108
+
109
+
110
+
111
+ csvcont++;
112
+
113
+
114
+
115
+ // ファイルから一行読み込む
116
+
117
+ var line = sr.ReadLine();
118
+
119
+ // 読み込んだ一行をカンマ毎に分けて配列に格納する
120
+
121
+ var values = line.Split(',');
122
+
123
+ var ii = 0;
124
+
125
+
126
+
73
- // year
127
+ // 出力する
128
+
74
-
129
+ foreach (var value in values)
130
+
131
+ {
132
+
133
+
134
+
135
+ switch (ii)
136
+
137
+ {
138
+
139
+ case 0:
140
+
141
+ cmd.Parameters["id"].Value = int.Parse(value);
142
+
143
+ break;
144
+
145
+ case 1:
146
+
75
- cmd.Parameters["data"].Value = data;
147
+ cmd.Parameters["date"].Value = int.Parse(value);
148
+
149
+ break;
150
+
151
+ default:
152
+
153
+ break;
154
+
155
+ }
156
+
157
+
158
+
159
+ ii++;
160
+
161
+
162
+
163
+ }
164
+
165
+
166
+
167
+ cmd.ExecuteNonQuery();
168
+
169
+
170
+
171
+ }
172
+
173
+
174
+
175
+ }
176
+
177
+
178
+
179
+ }
180
+
181
+ }
182
+
183
+ catch (System.Exception e)
184
+
185
+ {
186
+
187
+ // ファイルを開くのに失敗したとき
188
+
189
+ LogOutput(e.Message, true, true);
190
+
191
+ }
192
+
193
+
194
+
195
+ // コミット
196
+
197
+ trans.Commit();
198
+
199
+
200
+
201
+ }
76
202
 
77
203
 
78
204
 
79
205
  }
80
206
 
81
- catch (System.Exception e)
207
+ catch (Exception exception)
82
208
 
83
209
  {
84
210
 
85
- // ファイルを開くのに失敗したとき
86
-
87
- LogOutput(e.Message, true, true);
211
+ LogOutput(exception.Message, true, true);
212
+
213
+ return false;
88
214
 
89
215
  }
90
216
 
91
-
217
+
92
218
 
93
219
  }
94
220