C#实现学生学籍管理系统
时间: 2023-07-12 07:43:21 浏览: 49
学生学籍管理系统是一个常见的信息管理系统,下面是使用 C# 实现该系统的基本步骤:
1. 确定系统需求,设计系统功能模块和数据库结构。
2. 创建 C# 项目,设置数据库连接,创建数据表和视图。
3. 设计系统界面,包括登录界面、主界面、学生信息管理界面、成绩管理界面等。
4. 编写 C# 代码实现系统功能,包括学生信息的添加、删除、修改和查询,成绩录入和查询等。
5. 对系统进行测试和优化,确保系统的稳定性和可用性。
下面是一个简单的 C# 学生学籍管理系统的示例代码:
```csharp
using System;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace StudentSystem
{
public partial class MainForm : Form
{
private SqlConnection conn;
private SqlCommand cmd;
private string connStr = "Data Source=.;Initial Catalog=StudentDB;Integrated Security=True";
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
conn = new SqlConnection(connStr);
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Students";
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
int id = reader.GetInt32(reader.GetOrdinal("id"));
string name = reader.GetString(reader.GetOrdinal("name"));
int age = reader.GetInt32(reader.GetOrdinal("age"));
string gender = reader.GetString(reader.GetOrdinal("gender"));
string major = reader.GetString(reader.GetOrdinal("major"));
ListViewItem item = new ListViewItem(id.ToString());
item.SubItems.Add(name);
item.SubItems.Add(age.ToString());
item.SubItems.Add(gender);
item.SubItems.Add(major);
listView1.Items.Add(item);
}
reader.Close();
}
private void btnAdd_Click(object sender, EventArgs e)
{
string name = txtName.Text;
int age = Convert.ToInt32(txtAge.Text);
string gender = cbGender.SelectedItem.ToString();
string major = txtMajor.Text;
cmd.CommandText = string.Format("INSERT INTO Students (name, age, gender, major) VALUES ('{0}', {1}, '{2}', '{3}')", name, age, gender, major);
cmd.ExecuteNonQuery();
MessageBox.Show("添加成功!");
txtName.Text = "";
txtAge.Text = "";
cbGender.SelectedIndex = 0;
txtMajor.Text = "";
listView1.Items.Clear();
MainForm_Load(sender, e);
}
private void btnDelete_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 0)
{
MessageBox.Show("请先选择要删除的学生!");
return;
}
int id = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].Text);
cmd.CommandText = string.Format("DELETE FROM Students WHERE id={0}", id);
cmd.ExecuteNonQuery();
MessageBox.Show("删除成功!");
listView1.Items.Clear();
MainForm_Load(sender, e);
}
private void btnUpdate_Click(object sender, EventArgs e)
{
if (listView1.SelectedItems.Count == 0)
{
MessageBox.Show("请先选择要修改的学生!");
return;
}
int id = Convert.ToInt32(listView1.SelectedItems[0].SubItems[0].Text);
string name = txtName.Text;
int age = Convert.ToInt32(txtAge.Text);
string gender = cbGender.SelectedItem.ToString();
string major = txtMajor.Text;
cmd.CommandText = string.Format("UPDATE Students SET name='{0}', age={1}, gender='{2}', major='{3}' WHERE id={4}", name, age, gender, major, id);
cmd.ExecuteNonQuery();
MessageBox.Show("修改成功!");
txtName.Text = "";
txtAge.Text = "";
cbGender.SelectedIndex = 0;
txtMajor.Text = "";
listView1.Items.Clear();
MainForm_Load(sender, e);
}
private void btnSearch_Click(object sender, EventArgs e)
{
listView1.Items.Clear();
string name = txtName.Text;
string major = txtMajor.Text;
string sql = "SELECT * FROM Students WHERE 1=1";
if (!string.IsNullOrEmpty(name))
{
sql += string.Format(" AND name LIKE '%{0}%'", name);
}
if (!string.IsNullOrEmpty(major))
{
sql += string.Format(" AND major LIKE '%{0}%'", major);
}
cmd.CommandText = sql;
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
int id = reader.GetInt32(reader.GetOrdinal("id"));
string sname = reader.GetString(reader.GetOrdinal("name"));
int age = reader.GetInt32(reader.GetOrdinal("age"));
string gender = reader.GetString(reader.GetOrdinal("gender"));
string smajor = reader.GetString(reader.GetOrdinal("major"));
ListViewItem item = new ListViewItem(id.ToString());
item.SubItems.Add(sname);
item.SubItems.Add(age.ToString());
item.SubItems.Add(gender);
item.SubItems.Add(smajor);
listView1.Items.Add(item);
}
reader.Close();
}
}
}
```
以上代码实现了一个简单的学生学籍管理系统,具体实现过程可能因需求不同而有所差异。