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

質問編集履歴

2

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

2016/06/04 05:43

投稿

GiveAHand
GiveAHand

スコア286

title CHANGED
File without changes
body CHANGED
@@ -71,7 +71,7 @@
71
71
  cmd.Parameters["id"].Value = int.Parse(value);
72
72
  break;
73
73
  case 1:
74
- cmd.Parameters["date"].Value = int.Parse(value);
74
+ cmd.Parameters["data"].Value = int.Parse(value);
75
75
  break;
76
76
  default:
77
77
  break;

1

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

2016/06/04 05:43

投稿

GiveAHand
GiveAHand

スコア286

title CHANGED
File without changes
body CHANGED
@@ -16,34 +16,97 @@
16
16
  このようなプログラムでインサートをしているのですが、
17
17
 
18
18
  ```C#
19
+ //SQLiteにデータ書き込み
19
- using (SQLiteTransaction trans = cn.BeginTransaction())
20
+ using (SQLiteConnection cn = new SQLiteConnection(dbConnectionString))
20
21
  {
22
+ cn.Open();
21
23
 
24
+ try
25
+ {
26
+ // CSV インサート
22
- SQLiteCommand cmd = cn.CreateCommand();
27
+ using (SQLiteTransaction trans = cn.BeginTransaction())
28
+ {
23
29
 
24
- // インサート文
25
- cmd.CommandText = "INSERT INTO TABLE_SAMPLE (ID, DATA) VALUES (@id, @data)";
30
+ SQLiteCommand cmd = cn.CreateCommand();
26
31
 
27
- // パラメタのセッ
32
+ // インサート
28
- cmd.Parameters.Add("id", System.Data.DbType.UInt16);
29
- cmd.Parameters.Add("data", System.Data.DbType.String);
33
+ cmd.CommandText = "INSERT INTO TABLE_SAMPLE (ID, DATA) VALUES (@id, @data)";
30
34
 
31
- try
35
+ // パラメータのセット
32
- {
36
+ cmd.Parameters.Add("id", System.Data.DbType.UInt16);
37
+ cmd.Parameters.Add("data", System.Data.DbType.String);
33
38
 
34
- // siteid
39
+ try
35
- cmd.Parameters["id"].Value = id;
40
+ {
36
41
 
37
- // year
38
- cmd.Parameters["data"].Value = data;
42
+ foreach (SelectResult csvfile in result)
43
+ {
39
44
 
45
+ // csvファイルを開く
46
+ using (var sr = new System.IO.StreamReader(@csvfile.filepath))
47
+ {
48
+
49
+ int csvcont;
50
+ csvcont = 0;
51
+
52
+ // ストリームの末尾まで繰り返す
53
+ while (!sr.EndOfStream)
54
+ {
55
+
56
+ csvcont++;
57
+
58
+ // ファイルから一行読み込む
59
+ var line = sr.ReadLine();
60
+ // 読み込んだ一行をカンマ毎に分けて配列に格納する
61
+ var values = line.Split(',');
62
+ var ii = 0;
63
+
64
+ // 出力する
65
+ foreach (var value in values)
66
+ {
67
+
68
+ switch (ii)
69
+ {
70
+ case 0:
71
+ cmd.Parameters["id"].Value = int.Parse(value);
72
+ break;
73
+ case 1:
74
+ cmd.Parameters["date"].Value = int.Parse(value);
75
+ break;
76
+ default:
77
+ break;
78
+ }
79
+
80
+ ii++;
81
+
82
+ }
83
+
84
+ cmd.ExecuteNonQuery();
85
+
86
+ }
87
+
88
+ }
89
+
90
+ }
91
+ }
92
+ catch (System.Exception e)
93
+ {
94
+ // ファイルを開くのに失敗したとき
95
+ LogOutput(e.Message, true, true);
96
+ }
97
+
98
+ // コミット
99
+ trans.Commit();
100
+
101
+ }
102
+
40
103
  }
41
- catch (System.Exception e)
104
+ catch (Exception exception)
42
105
  {
43
- // ファイルを開くのに失敗したとき
44
- LogOutput(e.Message, true, true);
106
+ LogOutput(exception.Message, true, true);
107
+ return false;
45
108
  }
46
-
109
+
47
110
  }
48
111
  ```
49
112