数据库项目实训回顾,本次是做教室综合管理系统,核心功能就是关于借用教室
流程步骤:
需求分析
数据库设计
数据库的发布实施
数据库测试
数据库应用开发
一、需求分析
1.教室综合管理系统
1)根据课表编排每间教室的使用时间
2)除了课表占用的时间外可以使用空闲时间将教室借与学生
3)教室需要定期检修,出现设备故障后需要暂停使用进行维修
4)教室在每学期期末需要进行考试安排
2.教室在每周的哪些时间需要用来上课,根据教务处的排课结果安排教室使用时间
3.学生在教室空闲时间可通过提供自己学号来代表班级借用教室
4.期末两周时间内,根据教务处的考试安排结果占用教室使用时间
5.暂停使用处于需要维修状态下需要标记出来
6.期末考试时也需要将教室标记为考试占用状态
7.学生可以根据具体时间查到有哪些空闲教室
8.学生可以根据教室号查到此教室什么时候空闲
9.学生可以根据教室容量(座位数)查询教室
10.考试安排需要根据人数具体分配教室
11.老师也可提供教师号借用教室,借用方式和学生借用类似
二、数据库设计
使用软件:PowerDesigner
概念模型 E-R图:
逻辑模型 :
物理模型:
最后,生成数据库定义脚本文件
三、数据库的发布实施
使用软件:SQLyog
根据上一阶段的 .sql数据库定义脚本文件,创建数据库、表、视图、触发器、存储过程等。并添加一些数据。
CREATE DATABASE 教室综合管理系统;
USE 教室综合管理系统;
-- 导入表结构
-- 插入数据
INSERT INTO 学生 VALUES('S005','陈边','18080808000');
INSERT INTO 学生 VALUES('S001','刘三','18080808001');
INSERT INTO 学生 VALUES('S002','李聪','18080808002');
INSERT INTO 学生 VALUES('S003','赵海','18080808003');
INSERT INTO 学生 VALUES('S004','王海','18080808004');
INSERT INTO 教师 VALUES('T001','宋晓梅','17021954593');
INSERT INTO 教师 VALUES('T002','罗云霄','17021954593');
INSERT INTO 教师 VALUES('T003','李四','17022544593');
INSERT INTO 教师 VALUES('T004','王明','17021947593');
INSERT INTO 教师 VALUES('T005','陈欢','17021951293');
INSERT INTO 教室 VALUES('10A303',100);
INSERT INTO 教室 VALUES('10A201',90);
INSERT INTO 教室 VALUES('10A202',100);
INSERT INTO 教室 VALUES('10A203',100);
INSERT INTO 教室 VALUES('10A204',90);
INSERT INTO 教室 VALUES('10A301',100);
INSERT INTO 教室 VALUES('10A302',100);
INSERT INTO 课程 VALUES('C001','网络营销',90);
INSERT INTO 课程 VALUES('C002','C语言程序设计',120);
INSERT INTO 课程 VALUES('C003','java面向对象程序设计',95);
INSERT INTO 课程 VALUES('C004','C++面向对象程序设计',80);
INSERT INTO 课程 VALUES('C005','编译原理',123);
INSERT INTO 课程 VALUES('C006','计算机组成原理',90);
INSERT INTO 课程 VALUES('C007','操作系统',92);
INSERT INTO 课程安排 VALUES('C001','10A201',1,17,1,1112);
INSERT INTO 课程安排 VALUES('C002','10A202',1,18,2,910);
INSERT INTO 课程安排 VALUES('C006','10A202',1,18,2,34);
INSERT INTO 课程安排 VALUES('C003','10A201',1,15,3,12);
INSERT INTO 课程安排 VALUES('C004','10A204',1,18,4,34);
INSERT INTO 课程安排 VALUES('C007','10A204',1,18,4,12);
INSERT INTO 课程安排 VALUES('C005','10A301',1,18,5,56);
INSERT INTO 课程安排 VALUES('C007','10A301',1,18,5,12);
INSERT INTO 课程安排 VALUES('C002','10A301',1,18,7,910);
INSERT INTO 教室占用记录 VALUES('10A302','S005',NULL,17,1,1112,'开班会');
INSERT INTO 教室占用记录 VALUES('10A302','S001',NULL,18,1,910,'宣传部例会');
INSERT INTO 教室占用记录 VALUES('10A201','S002',NULL,5,7,1112,'团日活动');
INSERT INTO 教室占用记录 VALUES('10A201','S002',NULL,5,7,910,'自习');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,7,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,6,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,12,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,34,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,20,5,56,'考试');
INSERT INTO 教室占用记录 VALUES('10A201',NULL,NULL,19,7,12,'维修');
INSERT INTO 教室占用记录 VALUES('10A202',NULL,NULL,20,7,34,'维修');
INSERT INTO 教室占用记录 VALUES('10A203',NULL,NULL,20,7,56,'维修');
INSERT INTO 教室占用记录 VALUES('10A204',NULL,NULL,20,6,12,'维修');
INSERT INTO 教室占用记录 VALUES('10A302',NULL,NULL,20,6,34,'维修');
INSERT INTO 教室占用记录 VALUES('10A301',NULL,NULL,20,6,56,'维修');
INSERT INTO 教室占用记录 VALUES('10A202',NULL,NULL,20,5,12,'维修');
INSERT INTO 教室占用记录 VALUES('10A202',NULL,NULL,20,5,34,'维修');
INSERT INTO 教室占用记录 VALUES('10A202',NULL,NULL,20,5,56,'维修');
-- 触发器 -- 教室占用申请
DELIMITER ;
DELIMITER $$
CREATE TRIGGER lease_ins_chk BEFORE INSERT
ON 教室占用记录
FOR EACH ROW
BEGIN
-- 检查是否存在此教室
IF new.教室号 NOT IN (SELECT 教室号 FROM 教室) THEN
signal SQLSTATE "HY000"
SET message_text = "添加失败,不存在此教室号!";
END IF;
-- 若有学生号,则检查是否存在此学生号
IF new.学号 IS NOT NULL AND new.学号 NOT IN (SELECT 学号 FROM 学生 WHERE 学号=new.学号) THEN
signal SQLSTATE "HY000"
SET message_text = "添加失败,不存在此学生号!";
END IF;
-- 若有工号,则检查是否存在此工号
IF new.工号 IS NOT NULL AND new.工号 NOT IN (SELECT 工号 FROM 教师 WHERE 工号=new.工号) THEN
signal SQLSTATE "HY000"
SET message_text = "添加失败,不存在此工号!";
END IF;
-- 检查此教室是否被占用
IF new.教室号 IN (SELECT 教室号 FROM 教室占用记录 WHERE new.占用周=占用周 AND new.占用星期=占用星期 AND new.占用课时=占用课时
UNION SELECT 教室号 FROM 课程安排 WHERE 开始周<=new.占用周 AND 结束周>=new.占用周 AND new.占用星期=星期 AND new.占用课时=课时)
THEN
signal SQLSTATE "HY000"
SET message_text = "添加失败,此教室于此时刻被占用!";
END IF;
END$$
四、数据库测试
使用软件:SQLyog
-- 问题测试
-- 王德发同学要借用10A301教室,时间为17周星期5下午78节课,他的学号为S065,电话为15368458821。
INSERT INTO 学生 VALUES('S065','王德发','15368458821');
INSERT INTO 教室占用记录 VALUES('10A301','S065',NULL,17,5,78,'无');
-- 查询所有被考试占用的教室
SELECT * FROM 教室占用记录 WHERE 占用原因 = '考试';
-- 查询第19周的有哪些教室在维修。
SELECT 教室号 FROM 教室占用记录 WHERE 占用周=19 AND 占用原因 = '维修';
-- 查询课程名为C语言程序设计的课程在哪个教室上课
SELECT 教室号 FROM 课程安排 WHERE 课程号 IN(SELECT 课程号 FROM 课程 WHERE 课程名='C语言程序设计');
-- 网络营销所在的教室,在第17周时,有哪些时间被占用
SELECT 占用星期,占用课时 FROM 教室占用记录 WHERE 占用周 =17 AND 教室号 IN (SELECT 教室号 FROM 课程安排 WHERE 课程号 =(SELECT 课程号 FROM 课程 WHERE 课程名='网络营销'))
UNION
SELECT 星期 AS 占用星期, 课时 AS 占用课时 FROM 课程安排 WHERE 教室号 IN (SELECT 教室号 FROM 课程安排 WHERE 课程号 =(SELECT 课程号 FROM 课程 WHERE 课程名='网络营销')) AND 开始周<=17 AND 结束周>=17;
-- 查询在第5周星期7晚上910节课,容量>90的空闲教室有哪些。
SELECT 教室号 FROM 教室 WHERE 容量 >90 AND 教室号 NOT IN (SELECT 教室号 FROM 教室占用记录 WHERE 占用周 =5 AND 占用星期 =7 AND 占用课时=910 )AND 教室号 NOT IN (SELECT 教室号 FROM 课程安排 WHERE 开始周<=5 AND 结束周>=5 AND 星期=7 AND 课时=910);
-- 查询第17周星期1,3-4节课期间有哪些教室空闲。
SELECT 教室号 FROM 教室 WHERE 教室号 NOT IN (SELECT 教室号 FROM 教室占用记录 WHERE 占用周 =17 AND 占用星期 =1 AND 占用课时=34 ) AND 教室号 NOT IN (SELECT 教室号 FROM 课程安排 WHERE 开始周<=17 AND 结束周>=17 AND 星期=1 AND 课时=34);
-- 查询教室10A204在第17周所有因课程占用的时间。
SELECT 星期 AS 占用星期, 课时 AS 占用课时 FROM 课程安排 WHERE 教室号="10A204" AND 开始周<=17 AND 结束周>=17;
-- 查询第20周10A201的考试占用情况。
SELECT 占用周, 占用星期, 占用课时 FROM 教室占用记录 WHERE 教室号 = '10A201' AND 占用原因 = '考试';
-- 谢特老师要借用10A301教室,时间为15周星期4下午56节课,他的工号为T006,电话为16868593521。
INSERT INTO 教师 VALUES('T006','谢特','16868593521');
INSERT INTO 教室占用记录 VALUES('10A301',NULL,'T006',15,4,56,'无');
-- 触发器测试
INSERT INTO 教室占用记录
VALUES("10A201", NULL, NULL, 1, 7, 1112, "自习");
INSERT INTO 教室占用记录
VALUES("10A201", "S001", "T001", 1, 6, 1112, "补习");
INSERT INTO 教室占用记录
VALUES("10A201", "S666", NULL, 1, 7, 1112, "自习");
INSERT INTO 教室占用记录
VALUES("10A201", NULL, "T666", 1, 7, 1112, "自习");
INSERT INTO 教室占用记录
VALUES("10A201", NULL, NULL, 1, 7, 1112, "自习");
INSERT INTO 教室占用记录
VALUES("10A201", NULL, NULL, 17, 1, 1112, "自习");
效果截图:
五、数据库应用开发
使用软件:VS2019 C#
1.查询所有教室借用记录
2.查询某时间某容量哪些有空闲的教室
3.申请借用教室
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using MySql.Data.MySqlClient;
namespace 教室综合管理系统
{
class Program
{
static void Main(string[] args)
{
//showLease();
//showNotLeaseRoom();
borrowClass();
}
// 查询所有教室借用记录
static void showLease()
{
// 连接数据库
string conStr = "server=localhost;user=root;database=教室综合管理系统;password=1110";
MySqlConnection con = new MySqlConnection(conStr);
con.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "SELECT * FROM 教室占用记录;";
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
int n = adapter.Fill(ds);
if(ds.Tables[0].Rows.Count > 0)
{
for (int i = 0; i< ds.Tables[0].Rows.Count; i++)
{
System.Console.WriteLine("教室号: {0}", ds.Tables[0].Rows[i]["教室号"]);
System.Console.WriteLine("学号: {0}", ds.Tables[0].Rows[i]["学号"]);
System.Console.WriteLine("工号: {0}", ds.Tables[0].Rows[i]["工号"]);
System.Console.WriteLine("占用周: {0}", ds.Tables[0].Rows[i]["占用周"]);
System.Console.WriteLine("占用星期: {0}", ds.Tables[0].Rows[i]["占用星期"]);
System.Console.WriteLine("占用课时: {0}", ds.Tables[0].Rows[i]["占用课时"]);
System.Console.WriteLine("占用原因: {0}", ds.Tables[0].Rows[i]["占用原因"]);
System.Console.WriteLine("\n");
}
System.Console.WriteLine("总共有 " + n + " 条教室借用记录:");
System.Console.WriteLine("\n");
}
else
{
System.Console.WriteLine("目前还没有教室借用记录!");
}
con.Close();
}
// 查询某时间某容量哪些有空闲的教室
static void showNotLeaseRoom()
{
int lease_week = 0, lease_day = 0, lease_course_time = 0, seats = 0;
string temp = "";
// 连接数据库
string conStr = "server=localhost;user=root;database=教室综合管理系统;password=1110";
MySqlConnection con = new MySqlConnection(conStr);
con.Open();
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.Text;
// 查询时间
Console.WriteLine("查询多少周:");
temp = Console.ReadLine();
if(temp == "")
lease_week = 0;
else
lease_week = Convert.ToInt32(temp);
while (lease_week < 1 || lease_week > 20)
{
Console.WriteLine("周数输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_week = 0;
else
lease_week = Convert.ToInt32(temp);
}
Console.WriteLine("查询星期几:");
temp = Console.ReadLine();
if (temp == "")
lease_day = 0;
else
lease_day = Convert.ToInt32(temp);
while (lease_day < 1 || lease_day > 7)
{
Console.WriteLine("星期输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_day = 0;
else
lease_day = Convert.ToInt32(temp);
}
Console.WriteLine("查询多少课时:");
temp = Console.ReadLine();
if (temp == "")
lease_course_time = 0;
else
lease_course_time = Convert.ToInt32(temp);
while (lease_course_time != 12 && lease_course_time != 34 && lease_course_time != 56 && lease_course_time != 78 && lease_course_time != 910 && lease_course_time != 1112)
{
Console.WriteLine("课时输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_course_time = 0;
else
lease_course_time = Convert.ToInt32(temp);
}
Console.WriteLine("查询多少容量(可选填):");
temp = Console.ReadLine();
if (temp == "")
seats = 0;
else
seats = Convert.ToInt32(temp);
while (seats < 0)
{
Console.WriteLine("容量有误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
seats = 0;
else
seats = Convert.ToInt32(temp);
}
cmd.CommandText = "SELECT 教室号 FROM 教室 WHERE 容量>@seats AND 教室号 NOT IN (SELECT 教室号 FROM 教室占用记录 WHERE 占用周=@lease_week AND 占用星期=@lease_day AND 占用课时=@lease_course_time) AND 教室号 NOT IN (SELECT 教室号 FROM 课程安排 WHERE 开始周<=@lease_week AND 结束周>=@lease_week AND 星期=@lease_day AND 课时=@lease_course_time);";
cmd.Parameters.AddWithValue("@seats", seats);
cmd.Parameters.AddWithValue("@lease_week", lease_week);
cmd.Parameters.AddWithValue("@lease_day", lease_day);
cmd.Parameters.AddWithValue("@lease_course_time", lease_course_time);
MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
System.Console.WriteLine("找到在第" + lease_week + "周 星期" + lease_day + " " + lease_course_time + "节课时 并且容量大于"+seats+" 的空闲教室了:");
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
System.Console.WriteLine("教室号: {0}", ds.Tables[0].Rows[i]["教室号"]);
}
System.Console.WriteLine("\n");
}
else
{
System.Console.WriteLine("第"+lease_week+"周 星期"+ lease_day+" "+lease_course_time+"课时,没有空闲教室!");
System.Console.WriteLine("\n");
}
con.Close();
}
// 申请借用教室
static void borrowClass() {
// 连接数据库
string conStr = "server=localhost;user=root;database=教室综合管理系统;password=1110";
MySqlConnection con = new MySqlConnection(conStr);
con.Open();
// 声明变量
string classroom_id = "", student_id = "", teacher_id = "", lease_reason = "", temp = "";
int lease_week = 0, lease_day = 0, lease_course_time = 0;
// 申请占用教室
Console.WriteLine("申请占用教室:");
classroom_id = Console.ReadLine();
MySqlCommand cmd1 = new MySqlCommand();
cmd1.Connection = con;
cmd1.CommandType = System.Data.CommandType.Text;
// 获取已有的教室号
cmd1.CommandText = "select 教室号 from 教室";
MySqlDataAdapter adapter1 = new MySqlDataAdapter(cmd1);
DataSet ds1 = new DataSet();
adapter1.Fill(ds1);
// 是否存在教室号
for (int i = 0; i < ds1.Tables[0].Rows.Count; i++)
{
if (classroom_id == (string)ds1.Tables[0].Rows[i]["教室号"])
break;
else if (i + 1 == ds1.Tables[0].Rows.Count)
{
Console.WriteLine("无此教室,请重新输入:");
classroom_id = Console.ReadLine();
i = -1;
}
}
// 申请者学号
Console.WriteLine("申请者学号(可选填):");
student_id = Console.ReadLine();
if(student_id != "") {
MySqlCommand cmd2 = new MySqlCommand();
cmd2.Connection = con;
cmd2.CommandType = System.Data.CommandType.Text;
// 先获取已有的学生的学号
cmd2.CommandText = "select 学号 from 学生";
MySqlDataAdapter adapter2 = new MySqlDataAdapter(cmd2);
DataSet ds2 = new DataSet();
adapter2.Fill(ds2);
// 是否存在学生
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
{
if (student_id == (string)ds2.Tables[0].Rows[i]["学号"])
break;
else if (i + 1 == ds2.Tables[0].Rows.Count)
{
Console.WriteLine("无此学生号,请重新输入:");
student_id = Console.ReadLine();
i = -1;
}
}
}
// 申请者工号
Console.WriteLine("申请者工号(可选填):");
teacher_id = Console.ReadLine();
if(teacher_id != "") {
MySqlCommand cmd3 = new MySqlCommand();
cmd3.Connection = con;
cmd3.CommandType = System.Data.CommandType.Text;
// 先获取已有的工号
cmd3.CommandText = "select 工号 from 教师";
MySqlDataAdapter adapter3 = new MySqlDataAdapter(cmd3);
DataSet ds3 = new DataSet();
adapter3.Fill(ds3);
// 是否存在此工号
for (int i = 0; i < ds3.Tables[0].Rows.Count; i++)
{
if (teacher_id == (string)ds3.Tables[0].Rows[i]["工号"])
break;
else if (i + 1 == ds3.Tables[0].Rows.Count)
{
Console.WriteLine("无此工号,请重新输入:");
teacher_id = Console.ReadLine();
i = -1;
}
}
}
// 申请时间
Console.WriteLine("申请多少周:");
temp = Console.ReadLine();
if (temp == "")
lease_week = 0;
else
lease_week = Convert.ToInt32(temp);
while (lease_week < 1 || lease_week > 20)
{
Console.WriteLine("周数输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_week = 0;
else
lease_week = Convert.ToInt32(temp);
}
Console.WriteLine("申请星期几:");
temp = Console.ReadLine();
if (temp == "")
lease_day = 0;
else
lease_day = Convert.ToInt32(temp);
while (lease_day < 1 || lease_day > 7)
{
Console.WriteLine("星期输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_day = 0;
else
lease_day = Convert.ToInt32(temp);
}
Console.WriteLine("申请多少课时:");
temp = Console.ReadLine();
if (temp == "")
lease_course_time = 0;
else
lease_course_time = Convert.ToInt32(temp);
while (lease_course_time != 12 && lease_course_time != 34 && lease_course_time != 56 && lease_course_time != 78 && lease_course_time != 910 && lease_course_time != 1112)
{
Console.WriteLine("课时输入错误,请重新输入:");
temp = Console.ReadLine();
if (temp == "")
lease_course_time = 0;
else
lease_course_time = Convert.ToInt32(temp);
}
// 教室是否被占用
int f = 0;
do
{
if (f != 0)
{
Console.WriteLine("此教室于此时被占用,请重新输入时间\n");
Console.WriteLine("申请多少周:");
lease_week = Convert.ToInt32(Console.ReadLine());
while (lease_week < 1 && lease_week > 20)
{
Console.WriteLine("周数输入错误,请重新输入:");
lease_week = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("申请星期几:");
lease_day = Convert.ToInt32(Console.ReadLine());
while (lease_day < 1 && lease_day > 7)
{
Console.WriteLine("星期输入错误,请重新输入:");
lease_day = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("申请多少课时:");
lease_course_time = Convert.ToInt32(Console.ReadLine());
while (lease_course_time != 12 && lease_course_time != 34 && lease_course_time != 56 && lease_course_time != 78 && lease_course_time != 910 && lease_course_time != 1112)
{
Console.WriteLine("课时输入错误,请重新输入:");
lease_course_time = Convert.ToInt32(Console.ReadLine());
}
}
MySqlCommand cmd4 = new MySqlCommand();
cmd4.Connection = con;
cmd4.CommandType = System.Data.CommandType.Text;
cmd4.CommandText = "SELECT 教室号 FROM 教室占用记录 WHERE @classroom_id=教室号 AND @lease_week=占用周 AND @lease_day=占用星期 AND @lease_course_time=占用课时 UNION SELECT 教室号 FROM 课程安排 WHERE @classroom_id=教室号 AND 开始周<=@lease_week AND 结束周>=@lease_week AND @lease_day=星期 AND @lease_course_time=课时";
cmd4.Parameters.AddWithValue("@classroom_id", classroom_id);
cmd4.Parameters.AddWithValue("@lease_week", lease_week);
cmd4.Parameters.AddWithValue("@lease_day", lease_day);
cmd4.Parameters.AddWithValue("@lease_course_time", lease_course_time);
MySqlDataAdapter adapter4 = new MySqlDataAdapter(cmd4);
DataSet ds4 = new DataSet();
f = adapter4.Fill(ds4);
} while (f>0);
// 申请原因
Console.WriteLine("申请原因(可选填):");
temp = Console.ReadLine();
if (temp == "")
lease_reason = "无";
else
lease_reason = temp;
MySqlCommand cmd = new MySqlCommand();
cmd.Connection = con;
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "insert into 教室占用记录 values(@classroom_id,@student_id,@teacher_id,@lease_week,@lease_day,@lease_course_time,@lease_reason);";
cmd.Parameters.AddWithValue("@classroom_id", classroom_id);
if (student_id == "")
cmd.Parameters.AddWithValue("@student_id", null);
else
cmd.Parameters.AddWithValue("@student_id", student_id);
if(teacher_id == "")
cmd.Parameters.AddWithValue("@teacher_id", null);
else
cmd.Parameters.AddWithValue("@teacher_id", teacher_id);
cmd.Parameters.AddWithValue("@lease_week", lease_week);
cmd.Parameters.AddWithValue("@lease_day", lease_day);
cmd.Parameters.AddWithValue("@lease_course_time", lease_course_time);
cmd.Parameters.AddWithValue("@lease_reason", lease_reason);
int r = cmd.ExecuteNonQuery();
//MySql.Data.MySqlClient.MySqlException
if (r == 1)
{
System.Console.WriteLine("\n申请成功!");
System.Console.WriteLine("\n");
}
else
{
System.Console.WriteLine("\n申请失败!");
System.Console.WriteLine("\n");
}
con.Close();
}
}
}