C#和sql设计的 车辆管理系统 课程设计报告,附带代码_第1页
C#和sql设计的 车辆管理系统 课程设计报告,附带代码_第2页
C#和sql设计的 车辆管理系统 课程设计报告,附带代码_第3页
C#和sql设计的 车辆管理系统 课程设计报告,附带代码_第4页
C#和sql设计的 车辆管理系统 课程设计报告,附带代码_第5页
已阅读5页,还剩39页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课 程 设 计课程设计名称:车辆系统的管理与调度专 业 班 级 : 计科0802班 学 生 姓 名 : 李 旭 学 号 : 202148140202 指 导 教 师 : 马宏琳 课程设计时间: 2021年06月30日 计算机科学与技术 专业课程设计任务书学生姓名李旭专业班级计科0802学号202148140202题 目车辆系统的管理与调度课题性质其它课题来源自拟课题指导教师马宏琳同组姓名无主要内容本系统主要具有以下功能:1设计车辆信息,包括车辆信息维护和查询;2设计驾驶员信息,包括驾驶员信息维护和查询;3设计车场信息,包括车场信息维护和查询;4设计车辆调度;5实现系统界面,包括用户管理,修改密

2、码,退出。任务要求 综合运用所学的数据库根本知识,并能通过查阅相关文献材料,独立完成该课题的设计开发工作。设计车辆管理系统,进一步掌握通过编程访问数据库和对数据库的管理,用高级语言编写管理系统实现对车辆方面的管理。参考文献4任满杰.数据库实用教程M.电子工业出版社.20065王珊,萨师煊.数据库系统概论M.高等教育出版社出版.2005审查意见指导教师签字:教研室主任签字: 年 月 日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计论文首页1 需求分析本课程设计要求了解车辆管理系统的过程,要求对车辆的管理有一定的理解,并进一步加深对车辆运作的实现和理解。要求用C#语言和S

3、QL SERVER 2000实现车辆相关信息记录和调度。要求建立一个数据库,然后用C#编程序,编号后要求把数据库与程序连接起来,组成一个大模块。车辆管理过程中涉及车辆的添加、删除、修改,驾驶员的添加、删除、修改,车场的添加、删除、修改,其中当实现车辆调度时能顺利完成要求,另外系统还可以实现修改用户,修改密码等功能。2 概要设计本系统要求建立六个表,分别包括用户信息,车辆信息,驾驶员信息,车辆调度信息,车辆预约信息,车辆库存信息。在设计程序的时候要求完成的模块有1设计车辆信息,包括车辆信息维护和查询;2设计驾驶员信息,包括驾驶员信息维护和查询;3设计车场信息,包括车场信息维护和查询;4设计车辆调

4、度;5实现系统界面,包括用户管理,修改密码,退出。在实现功能的时候要连接数据库,充分利用数据库中的数据。3 运行环境 Windous XP系统4 开发工具和编程语言Microsoft Visaul Stadio 2021Microsoft Sql Server 20005 详细设计!首先建立一个数据库,在数据库中建立所需要的表,建立过程大概如下:CREATE TABLE dbo.UserInfo (UserID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,UserName varchar (20) COLLATE Chinese_PRC_CI_AS

5、 NULL ,passwod varchar (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,UserLevel char (1) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYCREATE 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

6、_AS NOT NULL ,CarColor char (5) COLLATE Chinese_PRC_CI_AS NULL ,Carbuytime datetime NULL ,CarLoad int NULL ) ON PRIMARYCREATE 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 NO

7、T NULL ,Outfee money NOT NULL ) ON PRIMARYCREATE TABLE dbo.Driver (DriverID char (5) COLLATE Chinese_PRC_CI_AS NOT 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 ,DriverA

8、ddress varchar (50) COLLATE Chinese_PRC_CI_AS NULL ,DriverPhone char (11) COLLATE Chinese_PRC_CI_AS NULL ,worktime datetime NULL ) ON PRIMARYCREATE TABLE dbo.OrderInfo (OrderID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,OrderCarID char (5) COLLATE Chinese_PRC_CI_AS NOT NULL ,OrderPersonName varcha

9、r (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,OrderTime datetime NOT NULL ,OrderReason varchar (50) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARYCREATE 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) COLLAT

10、E Chinese_PRC_CI_AS NULL ,bigcarnum int NOT NULL ,mediumcarnum int NOT NULL ,smallcarnum int NOT NULL ) ON PRIMARY2程序中各模块如下:1. namespace DA模块 public DataTable CarInfoSelectAll() using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlComm

11、and cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarInfoSelectAll" try SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); Adapter.Fill(ds); conn.Close(); return ds.Tables0; catch (SqlException sqlEx) throw sqlEx; pu

12、blic CarInfoModule CarInfoSelectOne(String CarID) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarInfoSelectOne" #re

13、gion 添加存储过程参数 cmd.Parameters.AddWithValue("CarID", CarID);/车辆标号 #endregion try SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows = false) dr.Close(); return null; CarInfoModule CarMod = new CarInfoModule(); dr.Read(); #region 读取字段值 CarMod.CarID = CommonSqlValue.GetString(0, dr); CarMo

14、d.CarType = CommonSqlValue.GetString(1, dr); CarMod.CarDriver = CommonSqlValue.GetString(2, dr); CarMod.CarColor = CommonSqlValue.GetString(3, dr); CarMod.Carbuytime = CommonSqlValue.GetDateTime(4, dr); CarMod.CarLoad = CommonSqlValue.GetInt32(5, dr); #endregion dr.Close(); conn.Close(); return CarM

15、od; catch (SqlException sqlEx) throw sqlEx; public void CarInfoDeleteOne(String CarID) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandTe

16、xt = "CarInfoDeleteOne" #region 添加存储过程参数 cmd.Parameters.AddWithValue("CarID", CarID);/记录序列号 #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) throw sqlEx; public void CarInfoUpdateOne(CarInfoModule CarMod) using (SqlConnection conn = DABase.CreateConn

17、ection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarInfoUpdateOne" #region 添加存储过程参数 cmd.Parameters.AddWithValue("CarID", CarMod.CarID); cmd.Parameters.AddW

18、ithValue("CarType", CarMod.CarType); cmd.Parameters.AddWithValue("CarDriver", CarMod.CarDriver); cmd.Parameters.AddWithValue("CarColor", CarMod.CarColor); cmd.Parameters.AddWithValue("Carbuytime", CarMod.Carbuytime); cmd.Parameters.AddWithValue("CarLoad&q

19、uot;, 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("修改记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员

20、联系。", sqlEx); 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 (SqlCo

21、mmand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarInfoInsertOne" #region 添加存储过程参数 cmd.Parameters.AddWithValue("CarID", CarMod.CarID);cmd.Parameters.AddWithValue("CarType", CarMod.CarTyp cmd.Parameters.AddWithValue(&quo

22、t;CarDriver", CarMod.CarDriver); cmd.Parameters.AddWithValue("CarColor", CarMod.CarColor); cmd.Parameters.AddWithValue("Carbuytime", CarMod.Carbuytime); cmd.Parameters.AddWithValue("CarLoad", CarMod.CarLoad); #endregion try cmd.ExecuteNonQuery(); conn.Close(); catc

23、h (SqlException sqlEx) switch (sqlEx.Number) case 2601: case 2627: throw new Exception("添加记录失败!插入的键值已经存在,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx); case 8152: throw new Exception("添加记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx); case 8115: throw new Exception("添加记录失败!数值超出范围,请确认后重试。如果

24、仍有错误,请与管理员联系。", sqlEx); default: throw sqlEx; namespace DA public partial class CarOutDA public DataTable CarOutSelectAll() using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType =

25、CommandType.StoredProcedure; cmd.CommandText = "CarOutSelectAll" try SqlDataAdapter Adapter = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); Adapter.Fill(ds); conn.Close(); return ds.Tables0; catch (SqlException sqlEx) throw sqlEx; public CarOutModule CarOutSelectOne1(DateTime date1,

26、DateTime date2) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarOutSelectOne1" #region 添加存储过程参数 cmd.Parameters.AddWi

27、thValue("date1", date1); cmd.Parameters.AddWithValue("date2", date2); #endregion try SqlDataReader dr = cmd.ExecuteReader(); if (dr.HasRows = false) dr.Close(); return null; CarOutModule CarOutMod = new CarOutModule(); dr.Read(); #region 读取字段值 CarOutMod.OutID = CommonSqlValue.Get

28、String(0, dr); CarOutMod.OutCarID = CommonSqlValue.GetString(1, dr); CarOutMod.CarOutTime = CommonSqlValue.GetDateTime(2, dr); CarOutMod.CarInTime = CommonSqlValue.GetDateTime(3, dr); CarOutMod.OutFee = CommonSqlValue.GetDecimal(4, dr); #endregion dr.Close(); conn.Close(); return CarOutMod; catch (S

29、qlException 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() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "Ca

30、rOutDeleteOne" #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 = DABase.CreateConnection() if (C

31、onnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "CarOutUpdateOne" #region 添加存储过程 cmd.Parameters.AddWithValue("OutID", CarOutMod.OutID); cmd.Parameters.AddWithValue("

32、;OutCarID", 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

33、(); catch (SqlException sqlEx) switch (sqlEx.Number) case 2601: case 2627: throw new Exception("修改记录失败!插入的键值已经存在,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx); case 8152: throw new Exception("修改记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx);case 8115: throw new Exception("修改记录失败!数值超出范围,请确

34、认后重试。如果仍有错误,请与管理员联系。", sqlEx); default: throw sqlEx; public void CarOutInsertOne(CarOutModule CarOutMod) using (SqlConnection conn = DABase.CreateConnection() if (ConnectionState.Closed = conn.State) conn.Open(); using (SqlCommand cmd = conn.CreateCommand() cmd.CommandType = CommandType.StoredP

35、rocedure; cmd.CommandText = "CarOutInsertOne" #region 添加存储过程参数 cmd.Parameters.AddWithValue("OutID", CarOutMod.OutID); cmd.Parameters.AddWithValue("OutCarID", CarOutMod.OutCarID); cmd.Parameters.AddWithValue("CarOutTime", CarOutMod.CarOutTime); cmd.Parameters.A

36、ddWithValue("CarInTime", CarOutMod.CarInTime); cmd.Parameters.AddWithValue("OutFee", CarOutMod.OutFee); #endregion try cmd.ExecuteNonQuery(); conn.Close(); catch (SqlException sqlEx) switch (sqlEx.Number) case 2601: case 2627: throw new Exception("添加记录失败!插入的键值已经存在,请确认后重试。如果仍

37、有错误,请与管理员联系。", sqlEx); case 8152: throw new Exception("添加记录失败!字符串长度超出范围,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx); case 8115: throw new Exception("添加记录失败!数值超出范围,请确认后重试。如果仍有错误,请与管理员联系。", sqlEx); default: throw sqlEx; namespace DA public class CommonSqlValue public CommonSqlValue() publ

38、ic static Byte GetSqlBinary(Int16 idx, SqlDataReader dr) if (!dr.IsDBNull(idx) return dr.GetSqlBinary(idx).Value; else return null; public static DateTime GetDateTime(Int16 idx, SqlDataReader dr) if (!dr.IsDBNull(idx) return dr.GetDateTime(idx).Date; else return DateTime.MinValue; public static Bool

39、ean GetBoolean(Int16 idx, SqlDataReader dr) if (!dr.IsDBNull(idx) return dr.GetBoolean(idx); else return false; public static Byte GetByte(Int16 idx, SqlDataReader dr) if (!dr.IsDBNull(idx) return dr.GetByte(idx); else return 0; public static Int16 GetInt16(Int16 idx, SqlDataReader dr) if (!dr.IsDBN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论