用Winform来查询筛选学生信息,首先在后台写好查询的代码,然后在到前台那里去调用。具体的方法如下:
/// <summary>
/// 根据班级、学号、考好查询学员信息
/// </summary>
/// <param name="className"></param>
/// <returns></returns>
public List<StudentExt> GetStudentByClass(string className)
{
string sql = "select StudentName,StudentId,Gender,Birthday,ClassName from Students";
sql += " inner join StudentClass on Students.ClassId=StudentClass.ClassId";
sql += " where ClassName='{0}'";
sql = string.Format(sql, className);
SqlDataReader objReader = SQLHelper.GetReader(sql);
List<StudentExt> list = new List<StudentExt>();
while (objReader.Read())
{
list.Add(new StudentExt()
{
StudentId = Convert.ToInt32(objReader["StudentId"]),
StudentName = objReader["StudentName"].ToString(),
Gender = objReader["Gender"].ToString(),
Birthday = Convert.ToDateTime(objReader["Birthday"]),
ClassName = objReader["ClassName"].ToString()
});
}
objReader.Close();
return list;
}
/// <summary>
/// 根据学号查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnQueryById_Click(object sender, EventArgs e)
{
if (this.txtStudentId.Text.Trim().Length == 0)
{
MessageBox.Show("请输入学号!", "提示信息");
this.txtStudentId.Focus();
return;
}
//进一步验证学号必须是数字(请使用正则表达式...)
//执行查询
StudentExt objStudent = objStuService.GetStudentById(this.txtStudentId.Text.Trim());
if (objStudent == null)
{
MessageBox.Show("学员信息不存在!", "提示信息");
this.txtStudentId.Focus();
}
else
{
//在学员详细信息窗体显示
FrmStudentInfo objFrmStuInfo = new FrmStudentInfo(objStudent);
objFrmStuInfo.Show();
}
}
结果如下图: