C# WPF 和 Sqlite:Datagrid 在尝试从 sqlite 数据库 table 读取时显示最后 table 记录
C# WPF and Sqlite: Datagrid displays last table recording when trying to read from an sqlite database table
我不明白为什么我的数据网格显示来自 Sqlite 数据库的最后 table 记录。
这是我写的代码。
ObservableCollection<Activity> _activitiesList = new ObservableCollection<Activity>();
while (reader.Read())
{
_act.Name = reader.GetString(reader.GetOrdinal("Activity"));
_act.Customer = reader.GetString(reader.GetOrdinal("ActivityCustomer"));
_act.Activitytpe = reader.GetString(reader.GetOrdinal("ActivityNature"));
string st = reader.GetString(reader.GetOrdinal("StartedAt"));
_act.StartedAt = Convert.ToDateTime(st);
string et = reader.GetString(reader.GetOrdinal("FinishedAt"));
_act.EndedAt = Convert.ToDateTime(et);
//string _ratio = reader.GetString(reader.GetOrdinal("ActivityRatio"));
//_act.ActivityRatio = Convert.ToDouble(_ratio);
_act.Notes = reader.GetString(reader.GetOrdinal("Notes"));
string _hldy = reader.GetString(reader.GetOrdinal("Holiday"));
_act.IsHoliday = Convert.ToBoolean(_hldy);
_activitiesList.Add(_act);
}
ActivitiesDataGrid.ItemsSource=_activitiesList;
你必须实例化一个新的 activity class:
while (reader.Read())
{
Activity _act=new Activity();
....
}
你能在 while 循环中为 "Activity" class 创建新的对象实例吗?
ObservableCollection<Activity> _activitiesList = new ObservableCollection<Activity>();
**while (reader.Read())
{
***_act = new Activity();***
_act.Name = reader.GetString(reader.GetOrdinal("Activity"));
....
....
}**
我不明白为什么我的数据网格显示来自 Sqlite 数据库的最后 table 记录。 这是我写的代码。
ObservableCollection<Activity> _activitiesList = new ObservableCollection<Activity>();
while (reader.Read())
{
_act.Name = reader.GetString(reader.GetOrdinal("Activity"));
_act.Customer = reader.GetString(reader.GetOrdinal("ActivityCustomer"));
_act.Activitytpe = reader.GetString(reader.GetOrdinal("ActivityNature"));
string st = reader.GetString(reader.GetOrdinal("StartedAt"));
_act.StartedAt = Convert.ToDateTime(st);
string et = reader.GetString(reader.GetOrdinal("FinishedAt"));
_act.EndedAt = Convert.ToDateTime(et);
//string _ratio = reader.GetString(reader.GetOrdinal("ActivityRatio"));
//_act.ActivityRatio = Convert.ToDouble(_ratio);
_act.Notes = reader.GetString(reader.GetOrdinal("Notes"));
string _hldy = reader.GetString(reader.GetOrdinal("Holiday"));
_act.IsHoliday = Convert.ToBoolean(_hldy);
_activitiesList.Add(_act);
}
ActivitiesDataGrid.ItemsSource=_activitiesList;
你必须实例化一个新的 activity class:
while (reader.Read())
{
Activity _act=new Activity();
....
}
你能在 while 循环中为 "Activity" class 创建新的对象实例吗?
ObservableCollection<Activity> _activitiesList = new ObservableCollection<Activity>();
**while (reader.Read())
{
***_act = new Activity();***
_act.Name = reader.GetString(reader.GetOrdinal("Activity"));
....
....
}**