用sql server 和 C# 写一个勤工助学管理系统
时间: 2024-04-23 17:22:23 浏览: 105
基于SSM+mysql的大学生勤工助学管理系统设计与实现(源码+设计文档+部署说明+视频演示).zip
5星 · 资源好评率100%
好的,下面是一个基于 SQL Server 和 C# 的勤工助学管理系统的设计与实现。
首先,我们需要设计数据库的表结构。本系统包含三个表:`students`(学生信息表)、`jobs`(工作信息表)、`applications`(申请信息表)。
### `students` 表
该表存储学生的基本信息。
| 列名 | 数据类型 | 主键 | 说明 |
| --- | --- | --- | --- |
| id | INT | 是 | 学生编号,自增长 |
| name | NVARCHAR(50) | | 学生姓名 |
| gender | CHAR(1) | | 学生性别 |
| age | INT | | 学生年龄 |
| major | NVARCHAR(50) | | 学生专业 |
| class | NVARCHAR(20) | | 学生班级 |
| phone | NVARCHAR(20) | | 学生联系电话 |
### `jobs` 表
该表存储工作的基本信息。
| 列名 | 数据类型 | 主键 | 说明 |
| --- | --- | --- | --- |
| id | INT | 是 | 工作编号,自增长 |
| name | NVARCHAR(50) | | 工作名称 |
| description | NVARCHAR(200) | | 工作描述 |
| salary | FLOAT | | 工资 |
| num_of_people | INT | | 招聘人数 |
| start_date | DATE | | 开始日期 |
| end_date | DATE | | 截止日期 |
| status | INT | | 工作状态:0-正在招聘,1-已结束 |
### `applications` 表
该表存储学生的申请信息和申请状态。
| 列名 | 数据类型 | 主键 | 外键 | 说明 |
| --- | --- | --- | --- | --- |
| id | INT | 是 | | 申请编号,自增长 |
| student_id | INT | | 是 | 学生编号,关联 `students` 表 |
| job_id | INT | | 是 | 工作编号,关联 `jobs` 表 |
| apply_date | DATE | | | 申请日期 |
| status | INT | | | 申请状态:0-待审核,1-通过,2-拒绝 |
接下来,我们可以使用 SQL 语句创建这三个表:
```sql
CREATE TABLE students (
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(50),
gender CHAR(1),
age INT,
major NVARCHAR(50),
class NVARCHAR(20),
phone NVARCHAR(20)
);
CREATE TABLE jobs (
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(50),
description NVARCHAR(200),
salary FLOAT,
num_of_people INT,
start_date DATE,
end_date DATE,
status INT
);
CREATE TABLE applications (
id INT PRIMARY KEY IDENTITY(1,1),
student_id INT FOREIGN KEY REFERENCES students(id),
job_id INT FOREIGN KEY REFERENCES jobs(id),
apply_date DATE,
status INT
);
```
接下来,我们可以使用 C# 代码来实现勤工助学管理系统的功能。这里我们使用 ADO.NET 技术来连接 SQL Server 数据库并操作数据库。
首先,我们需要在 C# 代码中定义一个 `SqlConnection` 对象来连接 SQL Server 数据库:
```csharp
using System.Data.SqlClient;
string connStr = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;";
SqlConnection conn = new SqlConnection(connStr);
```
上面的 `connStr` 字符串指定了 SQL Server 数据库的连接信息,包括服务器地址、数据库名称和登录凭据。
接下来,我们可以使用 `SqlCommand` 对象来执行 SQL 语句并获取结果:
```csharp
// 查询所有学生信息
string sql = "SELECT * FROM students";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
// 处理查询结果
}
```
上面的代码使用 `SELECT` 语句查询了 `students` 表中的所有记录,并使用 `SqlDataReader` 对象来读取查询结果。
类似地,我们可以使用 `INSERT` 语句来向数据库中插入新记录:
```csharp
// 向 students 表中插入一条新记录
string sql = "INSERT INTO students (name, gender, age, major, class, phone) VALUES (@name, @gender, @age, @major, @class, @phone)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@name", "张三");
cmd.Parameters.AddWithValue("@gender", "男");
cmd.Parameters.AddWithValue("@age", 20);
cmd.Parameters.AddWithValue("@major", "计算机科学");
cmd.Parameters.AddWithValue("@class", "计算机科学1班");
cmd.Parameters.AddWithValue("@phone", "13888888888");
int rowsAffected = cmd.ExecuteNonQuery();
```
上面的代码使用 `INSERT` 语句向 `students` 表中插入一条新记录,并使用 `SqlCommand.Parameters` 属性来设置参数值。
最后,我们可以使用 `UPDATE` 语句来更新数据库中的记录:
```csharp
// 更新 applications 表中的一条记录
string sql = "UPDATE applications SET status = @status WHERE id = @id";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddWithValue("@status", 1);
cmd.Parameters.AddWithValue("@id", 123);
int rowsAffected = cmd.ExecuteNonQuery();
```
上面的代码使用 `UPDATE` 语句更新了 `applications` 表中 `id` 为 123 的记录的 `status` 字段为 1。
综上所述,我们可以使用 SQL Server 和 C# 代码来实现一个勤工助学管理系统,包括数据库的设计和实现,以及通过 ADO.NET 技术来连接和操作数据库。
阅读全文