《C#和sql设计的 车辆管理系统 课程设计报告,附带代码.docx》由会员分享,可在线阅读,更多相关《C#和sql设计的 车辆管理系统 课程设计报告,附带代码.docx(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C#和sql设计的 车辆管理系统 课程设计报告,附带代码 课程设计 课程设计名称:车辆系统的管理与调度 专业班级:计科0802班 学生姓名:李旭 学号: 202248140202 指导教师:马宏琳 课程设计时间:2022年06月30日 计算机科学与技术专业课程设计任务书 学生姓名李旭专业班级计科0802 学号202248140202 题目车辆系统的管理与调度 课题性质其它课题来源自拟课题 指导教师马宏琳同组姓名无 主要内容本系统主要具有以下功能: (1)设计车辆信息,包括车辆信息维护和查询; (2)设计驾驶员信息,包括驾驶员信息维护和查询;(3)设计车场信息,包括车场信息维护和查询; (4)设
2、计车辆调度; (5)实现系统界面,包括用户管理,修改密码,退出。 任务要求综合运用所学的数据库基本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。设计车辆管理系统,进一步掌握通过编程访问数据库和 对数据库的管理,用高级语言编写管理系统实现对车辆方面的管理。 参考文献1詹英.数据库技术与应用M.北京:清华大学出版社.2022.9-14 2黄德才.数据库原理及其应用教程.M.北京:科学出版社.2022.12-3 3龚沛曾,杨志强. 数据库技术与应用M.北京高等教育出版社.2022 4任满杰.数据库实用教程M.电子工业出版社.2022 5王珊,萨师煊.数据库系统概论M.高等教育出版社出
3、版.2022 审查意见指导教师签字: 教研室主任签字:年月日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页 1 需求分析 本课程设计要求了解车辆管理系统的过程,要求对车辆的管理有一定的理解,并进一步加深对车辆运作的实现和理解。要求用C#语言和SQL SERVER 2000实现车辆相关信息记录和调度。要求建立一个数据库,然后用C#编程序,编号后要求把数据库与程序连接起来,组成一个大模块。车辆管理过程中涉及车辆的添加、删除、修改,驾驶员的添加、删除、修改,车场的添加、删除、修改,其中当实现车辆调度时能顺利完成要求,另外系统还可以实现修改用户,修改密码等功能。
4、2 概要设计 本系统要求建立六个表,分别包括用户信息,车辆信息,驾驶员信息,车辆调度信息,车辆预约信息,车辆库存信息。在设计程序的时候要求完成的模块有(1)设计车辆信息,包括车辆信息维护和查询; (2)设计驾驶员信息,包括驾驶员信息维护和查询; (3)设计车场信息,包括车场信息维护和查询; (4)设计车辆调度; (5)实现系统界面,包括用户管理,修改密码,退出。 在实现功能的时候要连接数据库,充分利用数据库中的数据。 3 运行环境 Windous XP系统 4 开发工具和编程语言 Microsoft Visaul Stadio 2022 Microsoft Sql Server 2000 5
5、详细设计 (!)首先建立一个数据库,在数据库中建立所需要的表,建立过程大概如下:CREATE TABLE dbo.UserInfo ( UserID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , UserName varchar (20) COLLATE Chinese_PRC_CI_AS NULL , passwod varchar (5) COLLATE Chinese_PRC_CI_AS NOT NULL , UserLevel char (1) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY CREA
6、TE TABLE dbo.CarInfo ( CarID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , CarType varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL , CarDriver char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , CarColor char (5) COLLATE Chinese_PRC_CI_AS NULL , Carbuytime datetime NULL , CarLoad int NULL ) ON PRIMARY CRE
7、ATE TABLE dbo.CarOut ( OutID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , OutCarID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , CarOutTime datetime NOT NULL , CarInTime datetime NOT NULL , Outfee money NOT NULL ) ON PRIMARY CREATE TABLE dbo.Driver ( DriverID char (5) COLLATE Chinese_PRC_CI_AS NOT
8、NULL , DriverName varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL , DriverSex char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , DriverLevel char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , DriverAddress varchar (50) COLLATE Chinese_PRC_CI_AS NULL , DriverPhone char (11) COLLATE Chinese_PRC_CI_AS NULL , wor
9、ktime datetime NULL ) ON PRIMARY CREATE TABLE dbo.OrderInfo ( OrderID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , OrderCarID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , OrderPersonName varchar (20) COLLATE Chinese_PRC_CI_AS NOT NULL , OrderTime datetime NOT NULL , OrderReason varchar (50) COLLAT
10、E Chinese_PRC_CI_AS NULL ) ON PRIMARY CREATE TABLE dbo.StopPlace ( SpID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL , SpName varchar (20) COLLATE Chinese_PRC_CI_AS NULL , SpLocation varchar (50) COLLATE Chinese_PRC_CI_AS NULL , bigcarnum int NOT NULL , mediumcarnum int NOT NULL , smallcarnum int NOT
11、 NULL ) ON PRIMARY (2)程序中各模块如下: 1. namespace DA模块 public DataTable CarInfoSelectAll() using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarInfoSel
12、ectAll; try SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); Adapter.Fill(ds); conn.Close(); return ds.Tables0; catch (SqlException sqlEx) throw sqlEx; public CarInfoModule CarInfoSelectOne(String CarID) using (SqlConnection conn = DABase.CreateConnection() if (Connectio
13、nState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarInfoSelectOne; #region 添加存储过程参数 cmd.Parameters.AddWithValue(CarID, CarID);/车辆标号 #endregion try SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows = false) d
14、r.Close(); return null; CarInfoModule CarMod = new CarInfoModule(); dr.Read(); #region 读取字段值 CarMod.CarID = CommonSqlValue.GetString(0, dr); CarMod.CarType = CommonSqlValue.GetString(1, dr); CarMod.CarDriver = CommonSqlValue.GetString(2, dr); CarMod.CarColor = CommonSqlValue.GetString(3, dr); CarMod
15、.Carbuytime = CommonSqlValue.GetDateTime(4, dr); CarMod.CarLoad = CommonSqlValue.GetInt32(5, dr); #endregion dr.Close(); conn.Close(); return CarMod; catch (SqlException sqlEx) throw sqlEx; public void CarInfoDeleteOne(String CarID) using (SqlConnection conn = DABase.CreateConnection() if (Connectio
16、nState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarInfoDeleteOne; #region 添加存储过程参数 cmd.Parameters.AddWithValue(CarID, CarID);/记录序列号 #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx)
17、throw sqlEx; public void CarInfoUpdateOne(CarInfoModule CarMod) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarInfoUpdateOne; #region 添加存储过程
18、参数 cmd.Parameters.AddWithValue(CarID, CarMod.CarID); cmd.Parameters.AddWithValue(CarType, CarMod.CarType); cmd.Parameters.AddWithValue(CarDriver, CarMod.CarDriver); cmd.Parameters.AddWithValue(CarColor, CarMod.CarColor); cmd.Parameters.AddWithValue(Carbuytime, CarMod.Carbuytime); cmd.Parameters.AddW
19、ithValue(CarLoad, CarMod.CarLoad); #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) switch (sqlEx.Number) case 2601: case 2627: throw new Exception(修改记录失败!插入的键值已经存在,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); case 8152: throw new Exception(修改记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。, s
20、qlEx); case 8115: throw new Exception(修改记录失败!数值超出范围,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); default: throw sqlEx; public void CarInfoInsertOne(CarInfoModule CarMod) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.Create
21、Command() mandType = CommandType.StoredProcedure; mandText = CarInfoInsertOne; #region 添加存储过程参数 cmd.Parameters.AddWithValue(CarID, CarMod.CarID); cmd.Parameters.AddWithValue(CarType, CarMod.CarTyp cmd.Parameters.AddWithValue(CarDriver, CarMod.CarDriver); cmd.Parameters.AddWithValue(CarColor, CarMod.
22、CarColor); cmd.Parameters.AddWithValue(Carbuytime, CarMod.Carbuytime); cmd.Parameters.AddWithValue(CarLoad, CarMod.CarLoad); #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) switch (sqlEx.Number) case 2601: case 2627: throw new Exception(添加记录失败!插入的键值已经存在,请确认后重试。如果仍有错误,请
23、与管理员联系。, sqlEx); case 8152: throw new Exception(添加记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); case 8115: throw new Exception(添加记录失败!数值超出范围,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); default: throw sqlEx; namespace DA public partial class CarOutDA public DataTable CarOutSelectAll() using (SqlConnection conn
24、= DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarOutSelectAll; try SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); Adapter.Fill(ds); conn.
25、Close(); return ds.Tables0; catch (SqlException sqlEx) throw sqlEx; public CarOutModule CarOutSelectOne1(DateTime date1,DateTime date2) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType =
26、CommandType.StoredProcedure; mandText = CarOutSelectOne1; #region 添加存储过程参数 cmd.Parameters.AddWithValue(date1, date1); cmd.Parameters.AddWithValue(date2, date2); #endregion try SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows = false) dr.Close(); return null; CarOutModule CarOutMod = new CarOut
27、Module(); dr.Read(); #region 读取字段值 CarOutMod.OutID = CommonSqlValue.GetString(0, dr); CarOutMod.OutCarID = CommonSqlValue.GetString(1, dr); CarOutMod.CarOutTime = CommonSqlValue.GetDateTime(2, dr); CarOutMod.CarInTime = CommonSqlValue.GetDateTime(3, dr); CarOutMod.OutFee = CommonSqlValue.GetDecimal(
28、4, dr); #endregion dr.Close(); conn.Close(); return CarOutMod; catch (SqlException sqlEx) throw sqlEx; public void CarOutDeleteOne(String OutID) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() ma
29、ndType = CommandType.StoredProcedure; mandText = CarOutDeleteOne; #region 添加存储过程参数 cmd.Parameters.AddWithValue(OutID, OutID);/用户编号 #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) throw sqlEx; public void CarOutUpdateOne(CarOutModule CarOutMod) using (SqlConnection conn
30、 = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarOutUpdateOne; #region 添加存储过程 cmd.Parameters.AddWithValue(OutID, CarOutMod.OutID); cmd.Parameters.AddWithValue(OutCarID
31、, CarOutMod.OutCarID); cmd.Parameters.AddWithValue(CarOutTime, CarOutMod.CarOutTime); cmd.Parameters.AddWithValue(CarInTime, CarOutMod.CarInTime); cmd.Parameters.AddWithValue(OutFee, CarOutMod.OutFee); #endregio try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) switch (sqlEx.Number
32、) case 2601: case 2627: throw new Exception(修改记录失败!插入的键值已经存在,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); case 8152: throw new Exception(修改记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); case 8115: throw new Exception(修改记录失败!数值超出范围,请确认后重试。如果仍有错误,请与管理员联系。, sqlEx); default: throw sqlEx; public void CarOutInsertOne(
33、CarOutModule CarOutMod) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() mandType = CommandType.StoredProcedure; mandText = CarOutInsertOne; #region 添加存储过程参数 cmd.Parameters.AddWithValue(OutID, CarOutMod.OutID); cmd.Parameters.AddWithValue(OutCarID, CarOutMod.OutCarID);