如何转换Calendar控件的日期字符串?

时间:2015-07-21 16:19:35

标签: c# wpf

我使用的是Calendar控件,但是我遇到了问题。特别是我继续遍历数据库以获取表格中的所有日期;像这样:

public void setFixturesControl()
{
        m_dbConnection.Open();
        string query = "select * from dates";
        SQLiteCommand input = new SQLiteCommand(query, Database.m_dbConnection);
        SQLiteDataReader reader = input.ExecuteReader();
        ...

我想在控件中添加多个日期,但是在这一行中:

while (reader.Read()) 
{

   MainWindow.AppWindow.Calendar.SelectedDates.Add(new DateTime(reader["data"].ToString()));
 }

我收到此错误:

  

无法从字符串转换为长

我做错了什么?

1 个答案:

答案 0 :(得分:0)

如果reader["data"]已经是DateTime类型,那么您只需要移除ToString()来电。

while (reader.Read()) 
{    
   MainWindow.AppWindow.Calendar.SelectedDates.Add((DateTime)reader["data"]);
}

如果reader["data"]不是DateTime,那么您必须转换它。 DateTime没有带字符串的使用者。你需要解析它,而不是:

while (reader.Read()) 
{    
   MainWindow.AppWindow.Calendar.SelectedDates.Add(DateTime.Parse(reader["data"].ToString()));
}