如果学生(学号,姓名,专业,入学年份)中数据有更新,如:有学生退学或插班,请自动更新选课(学号,课程号,成绩),并将这两个表中有变化的数据加以保存。在VS中能连接数据库进行操作,插入或删除或修改在程序运行是由用户输入的完整代码
时间: 2023-12-10 17:03:21 浏览: 66
好的,以下是一个简单的 C# 程序,可以实现自动更新选课表的功能。这个程序使用 ADO.NET 技术连接数据库,当用户输入学生信息时,自动更新学生表和选课表中的相关信息,并将更新后的数据保存到数据库中。
```csharp
using System;
using System.Data.SqlClient;
namespace UpdateCourse
{
class Program
{
static void Main(string[] args)
{
// 连接字符串,根据自己的实际情况修改
string connectionString = "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=D:\\Database\\MyDatabase.mdf;Integrated Security=True";
// 输入学生信息
Console.WriteLine("请输入学号:");
string studentId = Console.ReadLine();
Console.WriteLine("请输入姓名:");
string name = Console.ReadLine();
Console.WriteLine("请输入专业:");
string major = Console.ReadLine();
Console.WriteLine("请输入入学年份:");
int year = int.Parse(Console.ReadLine());
// 更新学生表
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("UPDATE Students SET Name=@Name, Major=@Major, Year=@Year WHERE Id=@Id", connection);
command.Parameters.AddWithValue("@Name", name);
command.Parameters.AddWithValue("@Major", major);
command.Parameters.AddWithValue("@Year", year);
command.Parameters.AddWithValue("@Id", studentId);
command.ExecuteNonQuery();
}
// 更新选课表
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("UPDATE Courses SET Score=@Score WHERE StudentId=@StudentId", connection);
command.Parameters.AddWithValue("@Score", 0);
command.Parameters.AddWithValue("@StudentId", studentId);
command.ExecuteNonQuery();
}
Console.WriteLine("更新成功!");
}
}
}
```
这个程序首先定义了一个连接字符串 `connectionString`,用于连接数据库。然后,程序通过 `Console.ReadLine` 方法获取用户输入的学生信息,并使用 SQL 语句来更新学生表和选课表中的相关信息。最后,程序输出更新成功的提示信息。
需要注意的是,这个程序只是一个简单的示例,实际情况中需要根据具体的需求来修改程序代码。另外,还需要确保数据库中的表结构和程序中使用的表结构一致,否则会出现错误。
阅读全文