项目实训-学生信息管理系统(5)

2019-03-22 13:10

4.2 “学生基本信息浏览窗体”功能的实现 ① 窗体的初始化工作

窗体中四个导航按钮控件都要从结果集中读取学生的基本信息,并需要确定正在操作的当前学生的具体位置。为此,我们首先定义两个私有数据成员用于保存该窗体运行过程中的数据集合和当前记录的位置。具体操作为:在StuBasicInfoQueryForm窗体类中添加以下代码。

DataSet StuBasicInfoDS = new DataSet(); // 保存该窗体涉及的数据集 int currentRecord = 0; // 保存当前操作的记录位置 其次,我们需要初始化窗体数据查询结果集以及设置界面打开状态。

第一步,创建一个通用的界面数据绑定的私有方法,该方法根据查询结果集中学生的具体位置,在窗体的相应控件上展示该学生的详细信息。具体操作即在StuBasicInfoQueryForm类中添加以下代码:

private void CoverDataBind(int position) {

DataRow dr = StuBasicInfoDS.Tables[0].Rows[position]; StuIDTextBox.Text = dr[\].ToString(); StuNameTextBox.Text = dr[\].ToString(); StuBirthTextBox.Text = dr[\].ToString(); DeptNameTextBox.Text = dr[\].ToString(); StuCardTextBox.Text = dr[\].ToString(); StuResumeTextBox.Text = dr[\].ToString();

if (dr[\].ToString().Equals(\男\)) {

MaleRatioButton.Enabled = true; MaleRatioButton.Checked = true; FemaleRadioButton.Enabled = false; } else {

MaleRatioButton.Enabled = false;

C/S结构项目实训(C#语言版)

21

FemaleRadioButton.Enabled = true; FemaleRadioButton.Checked = true; }

switch(dr[\].ToString()) {

case \:

DYRatioButton.Enabled = true; DYRatioButton.Checked = true;

TYRadioButton.Enabled = false; OtherRatioButton.Enabled = false; break; case \:

DYRatioButton.Enabled = false; OtherRatioButton.Enabled = false;

TYRadioButton.Enabled = true ; TYRadioButton.Checked = true ; break; case \:

OtherRatioButton.Enabled = true; OtherRatioButton.Checked = true;

DYRatioButton.Enabled = false; TYRadioButton.Enabled = false; break; }

//图片数据的显示 try

C/S结构项目实训(C#语言版)

22

{

byte[] PhotoBuffer = (byte[])dr[\]; Stream Photo = new MemoryStream(PhotoBuffer); Image PhotoImage = Image.FromStream(Photo, true); StuPhotoPictureBox.Image = PhotoImage; Photo.Close(); } catch {

StuPhotoPictureBox.Image = null; }

}

第二步,我们从数据库中读取学生基本信息数据,如果有学生,则在窗体启动后列示第一个学生的基本信息,如果没有则提示相关信息。为此,我们需要在StuBasicInfoQueryForm的Load事件中添加以下代码:

private void StuBasicInfoQueryForm_Load(object sender, EventArgs e) {

string sqlstr = \;

StuBasicInfoDS =

SqlHelper.ExecuteDataset(SqlHelper.ConnectionString,CommandType.Text,sqlstr);

//如果存在记录,显示第一条,否则提示没有数据信息 if (StuBasicInfoDS.Tables[0].Rows.Count == 0) {

MessageBox.Show(this, \不存在您要浏览的信息!!!\, \信息提示\, MessageBoxButtons.OK, MessageBoxIcon.Warning); }

else { currentRecord = 1;

CoverDataBind(currentRecord - 1);

}

C/S结构项目实训(C#语言版)

23

}

至此,窗体的初始化工作完毕。 ② “第一条”按钮功能的实现

在FirstRecorButton的Click事件中添加以下代码: if (StuBasicInfoDS.Tables[0].Rows.Count > 0)

{

currentRecord = 1;

CoverDataBind(currentRecord -1); PriorRecordButton.Enabled = false; NextRecordButton.Enabled = true;

}

③ “上一条”按钮功能的实现

在PriorRecordButton按钮的Click事件中添加以下代码: if (currentRecord > 1)

{

currentRecord = currentRecord - 1; CoverDataBind(currentRecord - 1); NextRecordButton.Enabled = true;

} else {

MessageBox.Show(this, \已经到达第一条!!!\, \信息提示\, MessageBoxButtons.OK, MessageBoxIcon.Warning); PriorRecordButton.Enabled = false;

}

④ “下一条”按钮功能的实现

在NextRecordButton按钮的Click事件中添加以下代码: if (currentRecord < StuBasicInfoDS.Tables[0].Rows.Count)

{

currentRecord = currentRecord + 1; CoverDataBind(currentRecord - 1);

C/S结构项目实训(C#语言版)

24

PriorRecordButton.Enabled = true;

} else {

MessageBox.Show(this,\已经到达最后一条!!!\,\信息提示\,MessageBoxButtons.OK,MessageBoxIcon.Warning); NextRecordButton.Enabled = false;

}

⑤ “最后一条”按钮功能的实现

在LastRecordButton按钮的Click事件中添加以下代码: if (StuBasicInfoDS.Tables[0].Rows.Count > 0)

{

currentRecord = StuBasicInfoDS.Tables[0].Rows.Count;

CoverDataBind(currentRecord - 1); PriorRecordButton.Enabled = true; NextRecordButton.Enabled = false;

}

至此,学生信息浏览的功能基本实现。

2.5 学生成绩信息查询窗体的设计与功能实现

(1)功能描述

该功能主要是根据输入的学号信息,查询学生的主要的基本信息(包括姓名、性别、出生日期等信息),然后用表格列出该学生所有选修课程的课程编号、课程名称、课程学分以及课程成绩等信息。

(2)流程图

针对功能描述,我们绘制学生成绩信息查询功能的操作流程图如图2.5-1说明。

C/S结构项目实训(C#语言版) 25


项目实训-学生信息管理系统(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:院部年度考核细则(校14方案)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: