我使用SQL Server创建了一个调度程序应用程序,现在我想使用SQLite创建另一个。我在SQL中有一个转换查询,它在SQLite中不起作用。有人可以帮忙吗?
try
{
ObservableCollection<Classes.EventClass> listEvents = new ObservableCollection<EventClass>();
SQLiteConnection conn = new SQLiteConnection(@"Data Source=Scheduler.db;Version=3;");
string query= "Select * from Sche_Event where CONVERT(DATE,Event_TimeFrom) = CONVERT(DATE,'" +d.ToString("yyyy-MM-dd HH:mm:ss") + "') ORDER BY Event_TimeFrom ASC";
SQLiteCommand command= new SQLiteCommand(query, conn);
conn.Open();
SQLiteDataReader dr = command.ExecuteReader();
while (dr.Read())
{
EventClass dog = new EventClass();
dog.DogID = dr.GetInt32(0);
dog.DogName = dr.GetString(1);
dog.DogText = dr.GetString(2);
dog.DogPriority = dr.GetInt32(3);
dog.DogTimeFrom = dr.GetDateTime(4);
dog.DogTimeTo = dr.GetDateTime(5);
dog.KliID = dr.GetInt32(6);
listEvents .Add(dog);
}
return listEvents ;
}
catch (Exception)
{
return null;
}
我希望我的代码转到While()并读取有关Event的信息,但所有它都会转到Catch()并且不返回任何内容。
SQL中的查询工作正常,但我不能使用SQLite :(
答案 0 :(得分:0)
当然,该语句在SQLite中不起作用,因为convert()
不是那里的已知函数。但是如果你很幸运,你根本不需要它,具体取决于时间戳存储在SQLite表中的格式。由于您没有提供任何样本数据,也没有描述您actually want to do的内容,您可以阅读SQLite doc about date and time functions或将您的问题改为“如何在SQLite中执行X?”。