3.2.5用户信息表如表 5所示。
四、详细设计
(一)、系统管理功能模块的实现
创建一个FormSystemMessage窗体,实现添加用户、删除用户、修改密码、退出系统的功能。
public partial class FormSystemMessage : Form
{
public FormSystemMessage()
{
InitializeComponent();
}
private void operatorBindingNavigatorSaveItem_Click(object sender, EventArgs e)
9
C# 、visual studio
{
this.Validate();
this.operatorBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.dataSetUserPassword);
}
DataSetUserPassword dsp = new DataSetUserPassword();
DataSetUserPasswordTableAdapters.OperatorTableAdapter dsup =
new DataSetUserPasswordTableAdapters.OperatorTableAdapter();
private void FormSystemMessage_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“dataSetUserPassword.Operator”中。您可以根据需要移动或删除它。
this.operatorTableAdapter.Fill(this.dataSetUserPassword.Operator);
dsup.Fill(dsp.Operator);
dataGridViewSystemMessage.DataSource = dsp.Operator;
}
private void buttonDelete_Click(object sender, EventArgs e)
{
DataSetUserPassword.OperatorRow row = (DataSetUserPassword.OperatorRow)
(((DataRowView)dataGridViewSystemMessage.CurrentRow.DataBoundItem).Row);
if (MessageBox.Show("您确定要删除这个用户吗?", "确定提示") == DialogResult.No)
return;
row.Delete();
}
private void buttonAdd_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(nameTextBox.Text))
{
MessageBox.Show("用户名不能为空", "错误提示", MessageBoxButtons.OK,
MessageBoxIcon.Error);
return;
}
if (string.IsNullOrEmpty(passwordTextBox.Text))
{
MessageBox.Show("密码不能为空", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
DataSetUserPassword.OperatorRow row = dsp.Operator.NewOperatorRow();
= nameTextBox.Text;
10
C# 、visual studio
row.Password = passwordTextBox.Text;
dsp.Operator.AddOperatorRow(row);
}
private void buttonSave_Click(object sender, EventArgs e)
{
try
{
dsup.Update(dsp.Operator);
MessageBox.Show("数据保存成功", "提示信息", MessageBoxButtons.OK,
rmation);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void buttonExit_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
(二)、学生信息管理模块的实现
4.2.1.“学生信息管理”窗体的实现如图4.2.1所示。
图 4.2.1“学生信息管理”窗体
11
C# 、visual studio
在构造函数前添加数据库上下文对象,并在构造函数中增加以下代码
ScoreManContext db = new ScoreManContext();
public FormClass()
{
InitializeComponent();
db.Studentes.Load();
studentBindingSource.DataSource = db.Studentes.Local;
}
“新添”按钮代码实现如下
private void bindingNavigatorAddNewItem_Click(object sender, EventArgs e)
{
Student student = new Course();
course.Id = Guid.NewGuid();
FormEditCourse formEdit = new FormEditCourse(course );
if(formEdit.ShowDialog ()==DialogResult.OK)
{
courseBindingSource.Add(course);
courseBindingSource.EndEdit();
db.SaveChanges();
}
}
“删除”按钮代码实现如下
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
if (studentBindingSource.Current == null) return;
if(Dialogs.ShowConfirm ("你确定删除吗")==DialogResult.Yes)
{
studentBindingSource.RemoveCurrent();
db.SaveChanges();
}
}
“编辑”按钮代码实现如下
private void toolStripEdit_Click(object sender, EventArgs e)
{
if (studentBindingSource.Current == null) return;
Student student = studentBindingSource.Current as Student;
FormStudentEdit formEdit = new FormStudentEdit(student);
if(formEdit .ShowDialog ()==DialogResult.OK)
{
12
C# 、visual studio
studentBindingSource.EndEdit();
db.SaveChanges();
}else
{
db.Entry(student).Reload();
studentBindingSource.ResetBindings(false );
}
}
4.2.2.“编辑学生信息”窗体设计如图4.2.2所示。
图 4.2.2“编辑学生信息”窗体设计
在该窗体中“选择照片”按钮代码实现如下
private void buttonSelectPicture_Click(object sender, EventArgs e)
{
OpenFileDialog openDialog = new OpenFileDialog();
openDialog.Filter = "所有图片(*.jpg;*.png;*.bmp;*.gif)
|*.jpg;*.png;*.gif;*.bmp";
if(openDialog .ShowDialog()==DialogResult.OK)
{
photoPictureBox.Image =
Image.FromFile(openDialog.FileName);
}
}
“确定”按钮代码实现如下
private void buttonOK_Click(object sender, EventArgs e)