質問編集履歴

3

システムの流れを追加

2017/07/13 08:21

投稿

ygoooo
ygoooo

スコア71

test CHANGED
File without changes
test CHANGED
@@ -6,6 +6,14 @@
6
6
 
7
7
 
8
8
 
9
+ ###流れ
10
+
11
+ 簡単なシフト管理システムです。
12
+
13
+ 日付、勤務開始時間、勤務終了時間を入力すると自動的に実働時間が計算されDBに格納されます。
14
+
15
+
16
+
9
17
  ###発生している問題
10
18
 
11
19
  タイトル通り、フォームに情報を正しく入力してもデータベースに入力されず、困っています。
@@ -254,4 +262,4 @@
254
262
 
255
263
  visualstudio
256
264
 
257
- windowsフォームアプリケーション(.NET FW)VISUAL C#
265
+ windowsフォームアプリケーション(.NET FW)VISUAL C

2

修正

2017/07/13 08:21

投稿

ygoooo
ygoooo

スコア71

test CHANGED
File without changes
test CHANGED
@@ -16,6 +16,10 @@
16
16
 
17
17
 
18
18
 
19
+ ドドド初心者なので基本的なところが間違っているかも・・・
20
+
21
+
22
+
19
23
  ###該当のソースコード
20
24
 
21
25
  ```

1

修正

2017/07/13 07:57

投稿

ygoooo
ygoooo

スコア71

test CHANGED
File without changes
test CHANGED
@@ -6,21 +6,13 @@
6
6
 
7
7
 
8
8
 
9
+ ###発生している問題
10
+
11
+ タイトル通り、フォームに情報を正しく入力してもデータベースに入力されず、困っています。
12
+
13
+
14
+
9
- フォームのCSファイルと、DBと直接やり取りをするCSファイルとでクラスファイルを分けているのですが、エラーらしいエラーが出ません
15
+ フォームのCSファイルと、DBと直接やり取りをするCSファイルとでクラスファイルを分けているのですが、エラーらしいエラーが出ず、フォームから値を受け取るところ、DBに接続するところ、INSERTで更新するところ、どこで間違えているのかわかりません・・・
10
-
11
- フォームから値を受け取るところ、DBに接続するところ、INSERT分で更新するところ、どこで間違えているのかわかりません・・・
12
-
13
-
14
-
15
- ドドド初心者なので基本的なことが間違っているかも・・・
16
-
17
-
18
-
19
- ###流れ
20
-
21
- シフト管理システム
22
-
23
- 日付、勤務開始時間、勤務終了時間を入力すると実働時間が割り出されDBに格納される
24
16
 
25
17
 
26
18
 
@@ -32,6 +24,12 @@
32
24
 
33
25
  ---ファイルA---
34
26
 
27
+ SqlConnection connection;
28
+
29
+ SqlCommand command;
30
+
31
+ DataTable dt;
32
+
35
33
 
36
34
 
37
35
  //DB接続
@@ -98,7 +96,7 @@
98
96
 
99
97
  SqlTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
100
98
 
101
- command.CommandText = "INSERT INTO time_table (date,starttime,finishtime,sumtime,uptime) VALUES(" + word + ");";
99
+ command.CommandText = "INSERT INTO time_table (date,starttime,endtime,total,addtime,uptime) VALUES(" + word + ");";
102
100
 
103
101
  command.Connection = connection;
104
102
 
@@ -122,19 +120,43 @@
122
120
 
123
121
 
124
122
 
123
+
124
+
125
+ //DB切断
126
+
127
+ public void Discon()
128
+
129
+ {
130
+
131
+ connection.Close();
132
+
133
+ }
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+ ---ファイルB---
144
+
145
+
146
+
125
147
  //フォームから登録
126
148
 
127
149
  private void inn_Click(object sender, EventArgs e)
128
150
 
129
151
  {
130
152
 
131
- Dao d = new Dao();
153
+ A a = new A();
132
154
 
133
155
  try
134
156
 
135
157
  {
136
158
 
137
- d.Con();
159
+ a.Con();
138
160
 
139
161
  string date = dateTimePicker1.Value.ToString("yyyy/MM/dd");
140
162
 
@@ -156,7 +178,7 @@
156
178
 
157
179
  int f = int.Parse(etime);
158
180
 
159
-
181
+
160
182
 
161
183
  if (s > f)
162
184
 
@@ -180,21 +202,21 @@
180
202
 
181
203
  ehour = date + " " + etime;
182
204
 
183
- DateTime start, end;
205
+ DateTime startt, endt;
184
-
206
+
185
- start = DateTime.Parse(stime); //DateTime型に変換
207
+ startt = DateTime.Parse(stime); //DateTime型に変換
186
-
208
+
187
- end = DateTime.Parse(etime);
209
+ endt = DateTime.Parse(etime);
188
-
210
+
189
- TimeSpan subt = finish - start; //実働時間の計算
211
+ TimeSpan subt = endt - startt; //実働時間の計算
190
-
212
+
191
- String sum = subt.ToString();
213
+ String total = subt.ToString();
192
214
 
193
215
  String time = DateTime.Now.ToString(); //登録時間の取得
194
216
 
195
217
 
196
218
 
197
- d.Add(date, stime, ftime, sum, time);
219
+ d.Add(date, stime, etime, total, time);
198
220
 
199
221
  MessageBox.Show("登録完了", "ダイアログ", MessageBoxButtons.OK);
200
222
 
@@ -226,258 +248,6 @@
226
248
 
227
249
  ###補足情報(言語/FW/ツール等のバージョンなど)
228
250
 
229
- VisualStudio
230
-
231
- ###前提・実現したいこと
232
-
233
- visualstudioにて、簡単なフォームアプリを作っています。
234
-
235
- 今までjavaばかりやっていたので、C#でのデータベースとのやりとりでつまづいています。
236
-
237
-
238
-
239
- ###発生している問題
240
-
241
- タイトル通り、フォームに情報を正しく入力してもデータベースに入力されず、困っています。
242
-
243
-
244
-
245
- フォームのCSファイルと、DBと直接やり取りをするCSファイルとでクラスファイルを分けているのですが、エラーらしいエラーが出ず、フォームから値を受け取るところ、DBに接続するところ、INSERTで更新するところ、どこで間違えているのかわかりません・・・
246
-
247
-
248
-
249
- ###該当のソースコード
250
-
251
- ```
252
-
253
-
254
-
255
- ---ファイルA---
256
-
257
- SqlConnection connection;
258
-
259
- SqlCommand command;
260
-
261
- DataTable dt;
262
-
263
-
264
-
265
- //DB接続
266
-
267
- public void Con()
268
-
269
- {
270
-
271
- try
272
-
273
- {
274
-
275
- string stConnectionString = string.Empty;
276
-
277
- connection = new SqlConnection();
278
-
279
- command = new SqlCommand();
280
-
281
- dt = new DataTable();
282
-
283
- stConnectionString += @"Data Source = (IPアドレス);";
284
-
285
- stConnectionString += @"Initial Catalog = (DB名);";
286
-
287
- stConnectionString += @"Integrated Security = SSID;";
288
-
289
- System.Data.SqlClient.SqlConnection cSqlConnection = (new System.Data.SqlClient.SqlConnection(stConnectionString));
290
-
291
- connection = new SqlConnection(stConnectionString);
292
-
293
- connection.Open();
294
-
295
- }
296
-
297
- catch (Exception e)
298
-
299
- {
300
-
301
- Console.WriteLine(e.Message);
302
-
303
- Console.ReadLine();
304
-
305
- }
306
-
307
- }
308
-
309
-
310
-
311
-
312
-
313
- //DB更新(INSERT)
314
-
315
- public void Add(string date,string starttime,string endtime,string total,string addtime)
316
-
317
- {
318
-
319
- try
320
-
321
- {
322
-
323
- command = new SqlCommand();
324
-
325
- string word = "'" + date + "','" + starttime + "','" + endtime + "','" +total + "','" + addtime + "','" + addtime + "'";
326
-
327
- SqlTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
328
-
329
- command.CommandText = "INSERT INTO time_table (date,starttime,endtime,total,addtime,uptime) VALUES(" + word + ");";
330
-
331
- command.Connection = connection;
332
-
333
- command.Transaction = transaction;
334
-
335
- command.ExecuteNonQuery();
336
-
337
- }
338
-
339
- catch (Exception e)
340
-
341
- {
342
-
343
- Console.WriteLine(e.Message);
344
-
345
- Console.ReadLine();
346
-
347
- }
348
-
349
- }
350
-
351
-
352
-
353
-
354
-
355
- //DB切断
356
-
357
- public void Discon()
358
-
359
- {
360
-
361
- connection.Close();
362
-
363
- }
364
-
365
-
366
-
367
-
368
-
369
-
370
-
371
-
372
-
373
- ---ファイルB---
374
-
375
-
376
-
377
- //フォームから登録
378
-
379
- private void inn_Click(object sender, EventArgs e)
380
-
381
- {
382
-
383
- A a = new A();
384
-
385
- try
386
-
387
- {
388
-
389
- a.Con();
390
-
391
- string date = dateTimePicker1.Value.ToString("yyyy/MM/dd");
392
-
393
- string shour = comboBox1.SelectedItem.ToString();
394
-
395
- string smin = comboBox2.SelectedItem.ToString();
396
-
397
- string ehour = comboBox3.SelectedItem.ToString();
398
-
399
- string emin = comboBox4.SelectedItem.ToString();
400
-
401
-
402
-
403
- string stime = shour + smin; //時、分の結合
404
-
405
- string etime = ehour + emin;
406
-
407
- int s = int.Parse(stime); //int変換
408
-
409
- int f = int.Parse(etime);
410
-
411
-
412
-
413
- if (s > f)
414
-
415
- {
416
-
417
- //開始時間>終了時間の場合 エラー表示をし登録させない
418
-
419
- MessageBox.Show("正しい値を入力してください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
420
-
421
- }
422
-
423
- else
424
-
425
- {
426
-
427
- stime = shour + ":" + smin; //コロンを入れ時間のフォーマットにする
428
-
429
- etime = ehour + ":" + emin;
430
-
431
- shour = date + " " + stime;
432
-
433
- ehour = date + " " + etime;
434
-
435
- DateTime startt, endt;
436
-
437
- startt = DateTime.Parse(stime); //DateTime型に変換
438
-
439
- endt = DateTime.Parse(etime);
440
-
441
- TimeSpan subt = endt - startt; //実働時間の計算
442
-
443
- String total = subt.ToString();
444
-
445
- String time = DateTime.Now.ToString(); //登録時間の取得
446
-
447
-
448
-
449
- d.Add(date, stime, etime, total, time);
450
-
451
- MessageBox.Show("登録完了", "ダイアログ", MessageBoxButtons.OK);
452
-
453
- }
454
-
455
- }catch(NullReferenceException ex)
456
-
457
- {
458
-
459
- Console.WriteLine(ex.Message);
460
-
461
- MessageBox.Show("未入力項目があります。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Error);
462
-
463
- }
464
-
465
- finally
466
-
467
- {
468
-
469
- d.Discon();
470
-
471
- }
472
-
473
- }
474
-
475
- ```
476
-
477
-
478
-
479
- ###補足情報(言語/FW/ツール等のバージョンなど)
480
-
481
251
  visualstudio
482
252
 
483
253
  windowsフォームアプリケーション(.NET FW)VISUAL C#