質問編集履歴

2

誤字

2018/12/28 06:48

投稿

maam
maam

スコア55

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  各ComboBoxを何も選択せずに(気持ちとしてはNull状態で)登録ボタンを押すと、
18
18
 
19
- なぜか1990-01-01という生年月日が設定されてSQLServer上に登録されてしまいます。
19
+ なぜか1900-01-01という生年月日が設定されてSQLServer上に登録されてしまいます。
20
20
 
21
21
  SQLServerでbirthdayを「Null許容」にしているのに
22
22
 

1

追加のため

2018/12/28 06:48

投稿

maam
maam

スコア55

test CHANGED
File without changes
test CHANGED
@@ -25,3 +25,79 @@
25
25
  ComboBoxを何も選択しなければNullで登録される方法を教えてください。
26
26
 
27
27
  よろしくお願いいたします。
28
+
29
+
30
+
31
+ ```
32
+
33
+ string year = comboBox1.Text;
34
+
35
+ string month = comboBox2.Text;
36
+
37
+ string day = comboBox3.Text;
38
+
39
+
40
+
41
+ if (year != "" || month != "" || day != "")
42
+
43
+ {
44
+
45
+ int y = int.Parse(year);
46
+
47
+ int m = int.Parse(month);
48
+
49
+ int d = int.Parse(day);
50
+
51
+ DateTime dt = DateTime.Now;
52
+
53
+ int iYear = dt.Year; //現在の年を取得
54
+
55
+ int iMonth = dt.Month; //現在の月を取得
56
+
57
+ int iDay = dt.Day; //現在の日を取得
58
+
59
+
60
+
61
+ //生年月日が存在しない時
62
+
63
+ if (y > iYear)
64
+
65
+ {
66
+
67
+ label11.Text = "生年月日が不正です。";
68
+
69
+ return;
70
+
71
+
72
+
73
+ }
74
+
75
+ else if (y <= iYear && m > iMonth)
76
+
77
+ {
78
+
79
+ label11.Text = "生年月日が不正です。";
80
+
81
+ return;
82
+
83
+
84
+
85
+ } else if (y <= iYear && m <= iMonth && d > iDay)
86
+
87
+ {
88
+
89
+ label11.Text = "生年月日が不正です。";
90
+
91
+ return;
92
+
93
+ }
94
+
95
+ label11.Text = "";
96
+
97
+ }
98
+
99
+
100
+
101
+
102
+
103
+ ```