我想在VS2015
中的DateTimePicker
上设置最小和最大日期。我想将最小日期设置为数据库中的值,将最大日期设置为DateTime.Now
。我有以下代码:
SQLiteCommand cmdForShopRegDate = new SQLiteCommand(@"select Date from [ShopRegistration]", con);
SQLiteDataAdapter AdapterShopRegDate = new SQLiteDataAdapter(cmdForShopRegDate);
DataTable TableShopRegDate = new DataTable();
AdapterShopRegDate.Fill(TableShopRegDate);
this.dateTimePickerStartReport.MaxDate = System.DateTime.Now.Date;
this.dateTimePickerStartReport.MinDate = Convert.ToDateTime(TableShopRegDate.Rows[0][0].ToString());
字符串
我得到以下错误:
值“18-Jul-28 12:00:00 AM”对“MinDate”无效。“MinDate”必须小于MaxDate。
1条答案
按热度按时间gojuced71#
您遇到的问题与数据的格式有关。您正在解析
18-Jul-28
的值。问题是这解析为7/18/2028
,它肯定大于8/2/2018
。要解决这个问题,您需要使用以下格式解析:字符串
除此之外,您的代码也可以简化(除非您绝对需要您的
DataTable
)。SqlLiteCommand.ExecuteScalar
返回结果集中第一行的第一列,并忽略所有其他数据。型
您需要将
using System.Globalization;
添加到您的usings中才能访问CultureInfo
。