我使用的是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()));
}
我收到此错误:
无法从字符串转换为长
我做错了什么?
答案 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()));
}