2017-06-21 62 views
1

在我的表单中,我有三个单独的生日下拉列表:日,月和年。 在我的数据库中,我有一个类型为日期的“生日”列。从日,月,年下拉列表中插入生日到数据库

如何将数据从特定日期格式的下拉列表中转换为数据库中可接受的格式?

下拉列表值:

Day  Month   Year 

1   Jan   1990 
2   Feb   1991 
3   Mar   1992 

...等等。

我试过了。它的工作原理,但我知道有一个更好的办法:

DateTime bday = DateTime.Parse(String.Format("{0}/{1}/{2}", dropDay.SelectedValue, dropMonth.SelectedValue, dropYear.SelectedValue)); 
+0

是ü从单个下拉或3个不同势下拉菜单 –

+0

3不同的下拉列表中取的值 – ejmtv

+0

我需要它被格式化为日期mm/dd/yyyy作为最终输出 – ejmtv

回答

2

您应该使用DateTime和用来初始化像这样:

DateTime birthday = new DateTime(int year, int month, int day); 
+0

该特定的构造函数接受哪种数据类型?注意,month是我的下拉列表中的字符串 – ejmtv

+0

这个构造函数接受int,所以如果你只有字符串Month可能你可以创建一个开关将它解析为int – AitorFDK

+0

@ejmtv使下拉选项的“值”为月号码,只有显示的文字是姓名(如字符串) – ADyson

0

首先,你必须分析你一个月的字符串为int和比你应该使用DateTime和初始化它像这样(如AitorFDK写道):

int month = DateTime.ParseExact(monthName, "MMMM", CultureInfo.CurrentCulture).Month 
DateTime birthday = new DateTime(int year, int month, int day);