(一)    基本界面设计
 
(二)    数据库的建立和实现保存功能
数据库设计界面如下:
保存按钮功能代码如下:
        private void toolStripButtonSaveItem_Click(object sender, EventArgs e)
        {
            try
            {
                this.Validate();
                ccbmBindingSource.EndEdit();//要善于用相应的BindingSource组件!
                ccbmTableAdapter.Update(studyDataSet.ccbm);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "保存失败");
            }
        }
 
 
(三)    实现报表功能和关闭窗口前的确认功能        
报表设计界面如下:
报表显示界面如下:
 
报表功能代码如下:
        private void toolStripButtonReportItem_Click(object sender, EventArgs e)
        {
            frmReport2 myReport2 = new frmReport2();
            myReport2.ShowDialog();
        }
 
窗体关闭功能界面如下:
窗体关闭功能代码如下:
        private void 退出EToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void frmBianMaGuanLi_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (studyDataSet.HasChanges())             // HasChanges()方法是关键!
            {
                if (MessageBox.Show("你已进行了相关数据操作,但尚未保存!" + Environment.NewLine + "放弃并退出系统吗?", "友情提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.OK)
                {
                    studyDataSet.RejectChanges();
                }
                else
                    e.Cancel = true;
            }
        }
 
(四)    实现模糊查询和删除多条记录功能
XSD中的 设置界面如下:
 
XSD中的 设置效果如下:
查询功能代码如下:
//按名称查询
        private void btnSelectByName_Click(object sender, EventArgs e)
        {
            try
            {
                dgvSelectByName.DataSource = this.ccbmBindingSource1;
                this.Cursor = Cursors.WaitCursor;
                // studyDataSetStudyDataSet类的一个实例化对象 此处ccbm为属性   关键!
                this.ccbmTableAdapter.FillByName(this.studyDataSet.ccbm, txbName.Text);
                this.Cursor = Cursors.Default;
                tsslblRows.Text = "当前记录数: " + dgvSelectByName.Rows.Count.ToString();
                if (dgvSelectByName.Rows.Count == 0)
                    MessageBox.Show("没有符合条件的记录","查询结果",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
//查询所有
        private void btnSelectAll_Click(object sender, EventArgs e)
        {
            this.ccbmTableAdapter.Fill(this.studyDataSet.ccbm);
        }
 
//删除多条功能(此处功能有待改善)
        private void toolStripButtonDeleteSome_Click(object sender, EventArgs e)
        {
            if (dgvBianHao.SelectedRows.Count == 0)
            {
                MessageBox.Show("你没有选择任何记录");
                return;
            }
 
            foreach (DataGridViewRow dr in dgvBianHao.SelectedRows)
            {
                dgvBianHao.EndEdit();
                dgvBianHao.Rows.Remove(dr);
            }
        } 
(五) 课后练习:
阶段基础训练(A)-通告信息管理系统
阶段基础考核(A)-同学录信息管理系统