リストからMS.Accessからデータを取得したいのですが、アプリケーションを実行すると、すべてのエントリが表示されますが、Student.StudentInformationのようなファイル名だけが表示されます。理由がわかりません。最初のエントリを選択すると、正しいデータが表示されます。テキストボックス?私が質問するのは:
public ICollection<StudentInformation> GetStudents()
{
OleDbConnection con = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT * FROM Students";
ObservableCollection<StudentInformation> students = new ObservableCollection<Student>();
try
{
con.Open();
OleDbDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Student aStudent = new Student(Convert.ToInt32(reader["StudentID"]),
reader["StudentName"].ToString(),
reader["StudentEmail"].ToString());
students.Add(aStudent);
}
reader.Close();
return students;
}
finally
{
con.Close();
}
}
Student Information Classでは、2つのコンストラクターが設定され、作成されました。1つはデフォルトのコンストラクターで、2つ目は値を渡します。
リストボックスに表示しています:
private ICollection<StudentInformation> students;
private void BtnGetStudent_Click(object sender, RoutedEventArgs e)
{
students = StudentDb.GetStudents();
Studentlst.ItemsSource = students;
}
Student.StudentInformationのようなリストが表示されます。修正方法は?