C#每5秒读取一次SQLite数据库(WPF)



我有一个WPF应用程序,我在其中读取SQLite数据库并在地图上绘制/填充引脚。控制台应用程序正在不断更新数据库。

我需要获得更新,并根据更新绘制新的引脚。我想每5秒钟读取一次数据库,但我尝试了一段时间的循环和计时器,屏幕永远不会被画出来?

每5秒运行一次这个方法的最佳方式是什么?

public void LoadAllPinsFromDataBase(string PathOFDataBase)
{
string cs = @"URI=file:C:JS8Mapradio.db3";
var con = new SQLiteConnection(cs);
con.Open();
{
SQLiteCommand cmd = new SQLiteCommand(con);
cmd.CommandText = "SELECT X, Y, call, grid FROM Radio_Data ";
SQLiteDataReader reader = cmd.ExecuteReader();

while (reader.Read())
{
Addpin(Convert.ToSingle(reader["X"]), Convert.ToSingle(reader["Y"]), Convert.ToString(reader["call"]), Convert.ToString(reader["grid"]));
}
}


}

我使用了这个问题上显示的DispatcherTimer方法来解决我的问题。

WPF UI在循环期间保持冻结

最新更新