【问题标题】:DateTimePicker.MinDate IssueDateTimePicker.MinDate 问题
【发布时间】:2018-08-02 17:49:31
【问题描述】:

我想在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。

【问题讨论】:

  • 当你尝试这段代码时会发生什么?
  • 您是否有意省略您的SqlConnection 以连接到您的数据库?如果没有并且您还没有设置它,那么您也需要完成它。查询数据库后,分配值是一项简单的任务。
  • 您对此有什么问题?你打开你的连接了吗?
  • 是的! SqliteConnection 没问题。
  • Giving Run time error.......附加信息:“18-Jul-28 12:00:00 AM”的值对“MinDate”无效。 “MinDate”必须小于 MaxDate。

标签: c# sqlite datetime


【解决方案1】:

您的问题不是很详细,似乎您是在要求其他人为您执行您的工作。尽管这可能是一次学习经历,但请阅读how to ask 一个完整的问题。

您遇到的问题与数据格式有关。您正在解析 18-Jul-28 的值。问题是它解析为7/18/2028,它肯定大于8/2/2018。要解决此问题,您需要使用以下格式进行解析:

yy-MMM-dd

除此之外,您的代码也可以简化(除非您绝对需要您的DataTable)。 SqlLiteCommand.ExecuteScalar 返回结果集中第一行的第一列并忽略所有其他数据。

using (SqlLiteConnection conn = new SqlLiteConnection("put your connection string here")) {
    using (SqlLiteCommand cmd = new SqlLiteCommand("select Date from [ShopRegistration]", conn) {
        conn.Open();
        dateTimePicker.MinDate = DateTime.ParseExact((string)cmd.ExecuteScalar(),
                                                     "yy-MMM-dd",
                                                     CultureInfo.InvariantCulture).Date;
    }
}

dateTimePicker.MaxDate = DateTime.Now.Date;

您需要将using System.Globalization; 添加到您的使用中才能访问CultureInfo

参考文献

【讨论】:

  • 显示相同的错误....附加信息:“18-Jul-28 12:00:00 AM”的值对“MinDate”无效。 “MinDate”必须小于 MaxDate。
  • 已调整,在了解您的格式问题之前做出了原始答案。
  • 附加信息:字符串未被识别为有效的日期时间。
  • 确保您的日期格式正确。您的查询返回什么?
  • @"从 [ShopRegistration] 中选择日期"
猜你喜欢
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多