当前位置:首页 >> IT/计算机 >>

校园自行车管理系统


一、项目开发概述........................................................................................................................... 2 (一)项目背景....................................................................................................................... 2 二、调研及可行性分析 ................................................................................................................... 2 (一)市场需求分析 ............................................................................................................... 2 (二)技术可行性 ................................................................................................................... 2 1、技术可行性 ................................................................................................................. 2 (三)操作可行性分析 ........................................................................................................... 2 1、先进管理方式 ............................................................................................................. 2 2、经济可行性 ................................................................................................................. 2 3、运行可行性 ................................................................................................................. 2 4、易用性......................................................................................................................... 2 5、法律可行性 ................................................................................................................. 2 三、任务概述................................................................................................................................... 3 (一)项目目标....................................................................................................................... 3 (二)功能............................................................................................................................... 3 (三)性能............................................................................................................................... 3 1、网络化......................................................................................................................... 3 2、智能化......................................................................................................................... 3 3、美观易用的界面 ......................................................................................................... 3 四、网络技术实现........................................................................................................................... 3 (一)产生背景及必要性 ....................................................................................................... 3 (二)具体实施....................................................................................................................... 3 1、解决方案 ..................................................................................................................... 3 2、开发环境 ..................................................................................................................... 3 3、用户界面 ..................................................................................................................... 3 4、管理系统各模块介 ..................................................................................................... 4 五、基本数据流程和处理流程流程图 ........................................................................................... 4 (一)处理流程....................................................................................................................... 4 1、系统管理员控制流程 ................................................................................................. 4 2、借车处理流程 ............................................................................................................. 4 3、还车处理流程 ............................................................................................................. 5 六、系统详细设计........................................................................................................................... 6 (一)初步想法....................................................................................................................... 6 (二)软件需求分析概述 ....................................................................................................... 6 1、软件结构设计 ............................................................................................................. 6 2、功能需求与模块的关系 ............................................................................................. 7 (三)人工处理过程 ............................................................................................................... 7 1、人工借还 ..................................................................................................................... 7 2、人工寻车 ..................................................................................................................... 7 3、尚未解决的问题 ......................................................................................................... 7 (四)数据库结构设计 ........................................................................................................... 7 1、系统 E-R 图 ................................................................................................................ 8 (五)逻辑结构设计 ............................................................................................................... 8 1、各数据项的逻辑结构设计说明 ................................................................................. 8

2、系统逻辑结构图 ......................................................................................................... 8 (六)数据库结构设计 ........................................................................................................... 8 1、管理员表 ..................................................................................................................... 9 2、自行车表 ..................................................................................................................... 9 3、用户表......................................................................................................................... 9 七、详细设计任务........................................................................................................................... 9 (一)系统设计模块 ............................................................................................................... 9 1、登录界面 ..................................................................................................................... 9 2、自行车库 ................................................................................................................... 12 (二)用户管理模块 ............................................................................................................. 12 1、会员管理 ................................................................................................................... 12 2、会员注册 ................................................................................................................... 16 3、会员信息修改 ........................................................................................................... 16 (三)用户借车模块 ............................................................................................................. 17 1、查询自行车 ............................................................................................................... 17 2、借还查询 ................................................................................................................... 19 (四)自行车管理模块 ......................................................................................................... 23 1、自行车管理 ............................................................................................................... 23 2、添加自行车 ............................................................................................................... 26 3、修改自行车信息 ....................................................................................................... 27 八、设计总结................................................................................................................................. 28 九、项目开发意义......................................................................................................................... 29 参考文献......................................................................................................................................... 29

“飞天”自行车租赁管理系统
(安徽商贸职业技术学院)

摘要:本文针对当前大学校园学生拥有及使用自行车的现状,立足高校园
区的实际,提出了一种解决方案—“飞天”自行车网上租赁服务项目,通过对自 行车的统一管理和开展租赁业务,减少学生用车不方便现象的发生。通过问卷调 查及结果分析,方案的可行性得到了较为严谨的论证。本方案立意新颖,有良好 的应用价值,所提出的具体实施方案,也对当今校园自行车问题的解决有着很好 的借鉴和指导意义。

关键词: 自行车; 管理; 系统设计 ; 数据库; Visual Studio2008; Server SQL
2005
1

一、项目开发概述
(一)项目背景 一骑黄红学子倚, 半打驿站笑脸迎。 这是高校中的一道人性化的风景线—校园自行车借 还服务项目。 学生、 教职工们可以凭借有效证件方便地在各个自行车借还点处借、 还自行车。 这项服务方便了学生、教职工们的出行,为之节省了一定的时间,意义深刻。然而在为全校 几千学子服务的同时, 我们的服务队同学却还要每天手工整理、 登记和统计自行车的借还情 况,工序繁杂、费时劳神。为减轻相关工作人员的负担,同时减少工作出错率、展现为同学 服务的精神,我们小组决定开发一套旨在更好地为同学们服务的“ ‘飞天’自行车租赁服务 系统” 。

二、调研及可行性分析
(一)市场需求分析 学生群体是用车的大户,有大批自行车闲置,因此是本服务项目的主市场和原料来源。 我们采用问卷的方式对同学们进行了调查(调查问卷与结果分析见附)。通过整理调查信息, 我们发现学生普遍对自行车投入较多, 但使用率却相对不高, 并且大多数同学都表示愿意摆 脱这一困境,乐意接受租车业务。基于此,我们认为,本工作站拥有广阔的市场,方案运行 所需的市场条件得到了满足。 (二)技术可行性 1、技术可行性 开发工具:VS2008 数据库环境:SQL Server 2005 系统环境:Microsoft Windows 2000 或以上版本。 系统实现依靠相对熟悉的 c 语言和 SQL Server2008 数据库系统,其基本操作实质 还是对数据库进行添加、删除、查找等操作。 (三)操作可行性分析 1、先进管理方式 通过向管理技术人员调查和咨询, 我们对自行车服务系统的维护管理有一个确切、 系统 的认识。我们发现,完全可以借鉴图书馆的图书管理系统对工作站实施管理。其中,网络登 记管理的方式随着网络技术的发展也变得极具可行性。 2、经济可行性 本软件采用的是字符界面操作, 一方面节省了开发时间, 另一方面也避免了因为开发平 台的限制而面临的技术难关。 在经济和时间上也是符合我们小组的预算的。 软件投入使用后, 用户要有一定的字符界面操作适应期。由于数据储存方式简单,功能要求不高,在用户需求 没有明显提高的情况下, 软件的维护是易于进行的, 这给用户减轻了一定的使用和维护经济 负担。 3、运行可行性 本软件主要使用对象是大学生, 大学生的计算机基础是足够好的, 软件的使用者技术水 平是可以保证的。 4、易用性 本系统是直接面对用户的, 而用户往往对计算机并不是非常熟悉。 这就要求系统能够提 供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟 悉的术语和中文信息的界面,从而保证系统的易用性。 5、法律可行性 本软件是专用软件, 具有较强的针对性。 在我们的编码和设计中, 除了参阅相关的资料,
2

不涉及已存在的设计专利、不侵犯国家、学校的相关制度,因此具法律可行性。

三、任务概述
(一)项目目标 减轻自行车服务队同学的工作负担、节省经费; 提高自行车借还登记处理速度; 减少登记出错率; 更好、更有效地为同学、教职工服务。 (二)功能 自行车以编号形式的录入、删除、修改、查询、检索; 设立管理面板,使系统管理员拥有本系统数据处理的所有权限; 对自行车借还的登记; 对借还记录进行检查以发现车辆未归还等异常情况。 (三)性能 1、网络化 在该系统中,各工作机与用户机通过网络互联,较容易的实现了数据的处理与反馈。网 络化是一种趋势,所有的工作、学习、生活在这时都被赋予了鲜明的网络特色,该工作站的 提出也顺应了网络化发展的需求。 2、智能化 从技术的角度讲,智能化就是自动化,本系统可以随时自动记录自行车的使用情况,包 括出借和归还时间、租借人具体信息、使用时间长度等。充分利用了网络化的优势,方便服 务与大众同时减轻管理员的劳动强度。 3、美观易用的界面 系统设基于 Form 窗体的管理界面,管理员可以通过系统界面对系统进行管理。把复杂 繁多的系统功能设置变为直观易用的窗体界面, 大大降低了对网络管理员的高要求, 提高了 系统的易用性。

四、网络技术实现
(一)产生背景及必要性 大量的数据需要处理,易使人感到无所适从。而且如果人工笔记处理,则其准确性和及 时性很难得到保证。 网络硬件的降价、 网络软件功能的日益强大使得校园网络化的普及程度 越来越高。 (二)具体实施 1、解决方案 本自行车租赁管理系统采用基于 Visual Studio 2008 设计的应用窗体与 SQL 2005 所创建 的数据库相结合的应用模式。用户(分学生用户与管理用户)通过打开登录界面向服务器 (SERVER)提交请求,包括对数据库的查询、修改、删除等。服务器负责对请求进行处理, 需要返回时,服务器会自动将信息返回到用户界面。 2、开发环境 硬件:现在市场上所用的 PC 都可以满足其要求 软件:Visual Studio 2008 数据库:Microsoft SQL Server2005 客户机平台:支持 Windows 98/2000、Windows XP/Windows7 3、用户界面 用户界面是一个集成化的信息平台, 基本上实现与数据库的接口, 即实现网上查询租车 信息、网上预定等功能。
3

4、管理系统各模块介 自行车出租管理模块:负责自行车的入库、租出、收费、收回等,它是整个租赁管理系 统中最活跃的模块;一般管理模块:是指向对前面的用户界面,比如新闻的添加、信息的发 布等;监管部模块:其所对应的页面功能是检阅自行车出租管理部、购买维修部及财会部的 页面情况,对其进行监督管理,发现问题,及时解决。

五、基本数据流程和处理流程流程图
(一)处理流程 1、系统管理员控制流程

系统管理员控制流程 2、借车处理流程

4

借车处理流程 3、还车处理流程

5

还车处理流程

六、系统详细设计
(一)初步想法 本系统为简单起见, 采用了数据文件的数据储存方法, 这是由于精力和时间限制所造成 的。本简单版本只考虑了只有一个工作站的情况,因此,不用考虑数据文件间的同步问题。 (二)软件需求分析概述 本系统的工作范围为在校园里,提供了自行车借还、管理等服务,主要服务对象为学校 里的师生们。目的是为服务站的工作人员、师生提供进一步的便利,使工作、使用更加有效 和愉快。 1、软件结构设计 为进一步说明本系统的事务流程,我们作出了本系统的事务型软件结构图(ER 图)如 下:

6

自行车管理系统 E-R 图 2、功能需求与模块的关系 为说明各项功能需求的实现同主要模块的分配关系,下面以矩阵图说明: 借车模块 登陆验证 查询可用自行车 更新自行车状态 更新用户使用记录 生成未归还车辆 √ √ √ √ √ √ √ √ √ 还车模块 √ 每日整顿模块 √

(三)人工处理过程 1、人工借还 本软件系统要在服务站设置值班人员,用户来借还车时,为用户派用或者回收车辆。 2、人工寻车 每日整顿车辆时,要求值班人员根据当日未归还车辆表去看看找回缺失车辆。 3、尚未解决的问题 多服务站模式问题: 本系统只能应用于只有一个自行车服务站的情况, 对于多个服务站, 本系统暂时无法胜任;智能化程度问题:本系统还未实现全自动的智能借还车辆模式,需要 工作人员时刻在服务站进行人工服务。 (四)数据库结构设计
7

1、系统 E-R 图

系统 E-R 图 (五)逻辑结构设计 1、各数据项的逻辑结构设计说明 实体:用户 User 实体:使用记录 实体:服务人员 实体:自行车 2、系统逻辑结构图

系统逻辑结构图 (六)数据库结构设计 本系统使用的数据库管理系统为 SQL Server 2005,下面介绍本系统数据库的结构设计。
8

1、管理员表 本管理系统具有管理员表 LoginInfo, 用于存储管理员身份的数据, 其模式如表 3.1 所示。 字段名 ID UserName UserPassword 数据类型 int varchar(50) varchar(50) 允许空 否 否 否 备注 用户 ID,主键 用户姓名 用户密码

LoginInfo(管理员)表 2、自行车表 存储自行车信息的表 Book,如表 3.2 所示,用于存放本管理系统中所有已录入的自行 车信息。 字段名 NO Name Type Price State Time Introduction 数据类型 varchar(50) varchar(50) varchar(50) nchar(50) varchar(50) datetime varchar(50) 允许空 否 否 是 是 是 是 是 备注 图书 ID,自动 增加,主键 车名 类型 价格 状态 借还时间 评价

Book(自行车)表 3、用户表 存储用户信息的表 Users,模式如表 3.3 所示。该表存放了所有用户的详细信息,借车 和还车都对该表进行操作。 字段名 Number Name Sex ID Address Tel Pwd Bike 数据类型 nchar(10) nvarchar(50) nchar(10) nvarchar(18) nvarchar(50) nvarchar(11) nvarchar(50) nvarchar(50) 允许空 否 否 是 否 是 是 否 是 备注 用户编号, 自动 增加,主键 用户姓名 用户性别 身份证 地址 电话 密码 所借的车

Users(自行车借还)表

七、详细设计任务
在详细设计阶段, 我们按之前的概要设计, 结合实际的编程可实现性, 设计了 3 个模块, 模块对应共同的数据结构,说明如下: (一)系统设计模块 1、登录界面

9

主要代码: private void DOLogin(string paramUserName, string paramPassword, string paramCode, string paramGetcheckCode) { int returnValue = 0; BULogin myBULogin = new BULogin(); returnValue = myBULogin.DoLogin(paramUserName, paramPassword, paramCode, paramGetcheckCode); if (radioButton1.Checked||radioButton2.Checked==true ) { switch (returnValue) { case 0: //1.用户名不存在 MessageBox.Show("用户名不存在!"); txtUserName.Clear(); txtPassword.Clear(); txtCode.Clear(); CodeImage(GetcheckCode()); break; case 1: //2.密码错误
10

MessageBox.Show("密码错误!"); txtPassword.Clear(); txtCode.Clear(); CodeImage(GetcheckCode()); break; case 2: MessageBox.Show("验证码错误!"); txtPassword.Clear(); txtCode.Clear(); CodeImage(GetcheckCode()); break; case 3: //3.登录成功 frmintroduction myfrmintroduction frmintroduction(); myfrmintroduction.Show(); this.Hide(); this.DialogResult = DialogResult.No; break; default: break; } } else { MessageBox.Show("请选择权限!"); } } private void btnLogin_Click(object sender, EventArgs e) { string paramUserName = this.txtUserName.Text.Trim(); string paramPassword = this.txtPassword.Text.Trim(); string paramCode = this.txtCode.Text.ToLower(); string paramGetcheckCode = this.strTwo.ToLower(); this.DOLogin(paramUserName, paramPassword, paramGetcheckCode); } string strTwo = ""; private void frmLogin_Load_1(object sender, EventArgs e) { CodeImage(GetcheckCode()); } private void btnCancel_Click(object sender, EventArgs e)
11

=

new

paramCode,

{ Close(); } private void lkblCode_LinkClicked_1(object LinkLabelLinkClickedEventArgs e) { CodeImage(GetcheckCode()); } private void linkLabel1_LinkClicked(object LinkLabelLinkClickedEventArgs e) { frmPeopleAdd fpla = new frmPeopleAdd(); fpla.Show(); } 2、自行车库 sender,

sender,

(二)用户管理模块 1、会员管理

12

主要代码: private void btHome_Click(object sender, EventArgs e) { frmintroduction myfrmintroduction = new frmintroduction(); myfrmintroduction.Show(); this.Hide(); this.DialogResult = DialogResult.No; } public void frmPeoplesql() { //打开数据库 SqlConnection mySqlConnection = new SqlConnection(Conn); mySqlConnection.Open(); string sqlQuery = "SELECT * FROM Users"; SqlCommand mySqlCommand = new SqlCommand(sqlQuery, mySqlConnection); mySqlCommand.ExecuteNonQuery(); SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(mySqlCommand); //填充数据库 DataSet myDs = new DataSet(); mySqlDataAdapter.Fill(myDs); //关闭数据库 mySqlConnection.Close(); this.dgvPeople.DataSource = myDs.Tables[0]; } private void frmPeople_Load(object sender, EventArgs e) { frmPeoplesql();
13

} private void Find(string paramNumber) { BUPeople myBUPeople = new BUPeople(); DataTable myDataTable = new DataTable(); myDataTable = myBUPeople.BUSearch(paramNumber); this.dgvPeople.DataSource = myDataTable; } private void btFind_Click(object sender, EventArgs e) { string paramNumber = this.txtNumber.Text.Trim(); Find(paramNumber); } private void btAdd_Click(object sender, EventArgs e) { frmPeopleAdd myfrmPeopleAdd = new frmPeopleAdd(); myfrmPeopleAdd.Show(); } private void button1_Click(object sender, EventArgs e) { frmPeoplesql(); } private void Update1() { int selectCount = this.dgvPeople.SelectedRows.Count; if (selectCount == 0) { MessageBox.Show("请选择要更新的行!"); } string paramNumber = this.dgvPeople.SelectedRows[0].Cells[0].Value.ToString(); string paramName = this.dgvPeople.SelectedRows[0].Cells[1].Value.ToString(); string paramSex = this.dgvPeople.SelectedRows[0].Cells[2].Value.ToString(); string paramID = this.dgvPeople.SelectedRows[0].Cells[3].Value.ToString(); string paramAddress = this.dgvPeople.SelectedRows[0].Cells[4].Value.ToString(); string paramTel = this.dgvPeople.SelectedRows[0].Cells[6].Value.ToString(); string parampwd = this.dgvPeople.SelectedRows[0].Cells[8].Value.ToString(); string paramPictures = this.dgvPeople.SelectedRows[0].Cells[7].Value.ToString(); frmPeopleUpdate myfrmPeopleUpdate = new frmPeopleUpdate(paramNumber, paramName, paramSex, paramID, paramAddress, paramTel, parampwd, paramPictures);
14

if (myfrmPeopleUpdate.ShowDialog() == DialogResult.No) { frmPeoplesql(); } } private void btUpdate_Click(object sender, EventArgs e) { Update1(); } private int DoDelete(string paramNumber) { int returnValue = 0; BUPeople myBUPeople = new BUPeople(); returnValue = myBUPeople.BUDelete(paramNumber); return returnValue; } private void btDelete_Click(object sender, EventArgs e) { string paramNumber = string.Empty; int selectCount = this.dgvPeople.SelectedRows.Count; if (selectCount == 0) { MessageBox.Show("请选择要删除的行!"); } int returnValue = 0; for (int i = 0; i < selectCount; i++) { paramNumber = this.dgvPeople.SelectedRows[i].Cells[0].Value.ToString(); } if (MessageBox.Show("您确定要删除编码为" + paramNumber + "的信息 吗?", "提示信息", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } for (int i = 0; i < selectCount; i++) { paramNumber = this.dgvPeople.SelectedRows[i].Cells[0].Value.ToString(); returnValue += this.DoDelete(paramNumber); } if (returnValue > 0) { MessageBox.Show("删除成功!");
15

frmPeoplesql(); } else { MessageBox.Show("删除不成功!"); } } 2、会员注册

3、会员信息修改

16

(三)用户借车模块 1、查询自行车

主要代码: public void frmBooksql()
17

{ //打开数据库 SqlConnection mySqlConnection = new SqlConnection(Conn); mySqlConnection.Open(); string sqlQuery = "SELECT * FROM Book"; SqlCommand mySqlCommand = new SqlCommand(sqlQuery, mySqlConnection); mySqlCommand.ExecuteNonQuery(); SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(mySqlCommand); //填充数据库 DataSet myDs = new DataSet(); mySqlDataAdapter.Fill(myDs); //关闭数据库 mySqlConnection.Close(); this.dgvBook.DataSource = myDs.Tables[0]; } private void dgvBook_DataError(object sender, DataGridViewDataErrorEventArgs e) { if (e.Exception != null && e.Context == DataGridViewDataErrorContexts.Commit) { MessageBox.Show("CustomerID value must be unique."); } } private int DoDelete(string paramNo) { int returnValue = 0; BUBook myBUBook = new BUBook(); returnValue = myBUBook.BUDelete(paramNo); return returnValue; } private void Search(string paramNo, string paramName, string paramTyre, string paramState) { BUBook myBUBook = new BUBook(); DataTable myDataTable = new DataTable(); myDataTable = myBUBook.BUSearch(paramNo, paramName, paramTyre, paramState); this.dgvBook.DataSource = myDataTable; } private void CheckBike_Load(object sender, EventArgs e) { frmBooksql();
18

BUBook myBUBook = new BUBook(); DataTable myDt = new DataTable(); myDt = myBUBook.BUTyre(); this.cmbTyre.DataSource = myDt; this.cmbTyre.DisplayMember = "Tyre"; this.cmbTyre.ValueMember = "Tyre"; this.cmbTyre.SelectedValue.ToString(); this.cmbTyre.Text = ""; } private void btFind_Click(object sender, EventArgs e) { string paramNo = this.txtNo.Text.Trim(); string paramName = this.txtName.Text.Trim(); string paramTyre = this.cmbTyre.Text.ToString(); string paramState = this.cmbState.Text.ToString(); this.Search(paramNo, paramName, paramTyre, paramState); } private void bt1Home_Click(object sender, EventArgs e) { frmintroduction myfrmintroduction = new frmintroduction(); myfrmintroduction.Show(); this.Hide(); this.DialogResult = DialogResult.No; } } 2、借还查询

19

主要代码: //返回主界面 private void btHome_Click(object sender, EventArgs e) { frmintroduction myfrmintroduction = new frmintroduction(); myfrmintroduction.Show(); this.Hide(); this.DialogResult = DialogResult.No; } private void Xinxi(String paramNumber) { BUDoing myBUDoing = new BUDoing(); DataTable myDataTable = new DataTable(); myDataTable = myBUDoing.Xinxi(paramNumber); this.dgvXinxi.DataSource = myDataTable; } private void DoLogin(string paramNumber, string paramPwd) { int returnValue = 0; BUDoing myBUDoing = new BUDoing(); returnValue = myBUDoing.DoLogin(paramNumber, paramPwd); switch (returnValue) { case 0: MessageBox.Show("用户名不存在!"); break; case 1: MessageBox.Show("密码错误!"); break; case 2: this.Xinxi(paramNumber); break; default: break; } } private void btYes_Click(object sender, EventArgs e) { string paramNumber = this.txtNumber.Text.Trim(); string paramPwd = this.txtPwd.Text.Trim(); this.DoLogin(paramNumber, paramPwd); } private void Find(string paramNo)
20

{ BUDoing myBUDoing = new BUDoing(); DataTable myDataTable = new DataTable(); myDataTable = myBUDoing.BUSearch(paramNo); this.dgvJie.DataSource = myDataTable; } private void btFindJie_Click(object sender, EventArgs e) { string paramNo = this.txtNo.Text.Trim(); Find(paramNo); } private void btUpdateJie_Click(object sender, EventArgs e) { string paramNo = this.txtNo.Text.Trim(); Find(paramNo); } private int jiechu(String paramNo, String paramState) { int returnValue = 0; BUDoing myBUDoing = new BUDoing(); returnValue = myBUDoing.BUUpdate1(paramNo, paramState); return returnValue; } private int guihuan(String paramNo, String paramState) { int returnValue = 0; BUDoing myBUDoing = new BUDoing(); returnValue = myBUDoing.BUUpdate2(paramNo, paramState); return returnValue; } private int xiugai(String paramName, String ParamNumber) { int returnValue = 0; BUDoing myBUDoing = new BUDoing(); returnValue = myBUDoing.BUXiugai(paramName, ParamNumber); return returnValue; } private int xiugai1(String paramName, String ParamNumber) { int returnValue = 0; BUDoing myBUDoing = new BUDoing(); returnValue = myBUDoing.BUXiugai1(paramName, ParamNumber); return returnValue; }
21

private void btJie_Click(object sender, EventArgs e) { string paramNo = this.dgvJie.SelectedRows[0].Cells[0].Value.ToString(); string paramName = this.dgvJie.SelectedRows[0].Cells[1].Value.ToString(); string ParamNumber = this.txtNumber.Text.Trim(); string paramState = "借出"; int returnValue = 0; if (GetBookState(paramNo) == paramState) { MessageBox.Show("此车以被借出!"); return; } returnValue = this.jiechu(paramNo, paramState); if (returnValue > 0) { MessageBox.Show("借出操作成功!"); } else { MessageBox.Show("借出操作失败!"); } xiugai(paramName, ParamNumber); } private string GetBookState(string paramNo) { BUBook myBUBook = new BUBook(); return myBUBook.GetBookState(paramNo); } private void btHuan_Click(object sender, EventArgs e) { string paramNo = this.dgvJie.SelectedRows[0].Cells[0].Value.ToString(); string paramName = ""; string ParamNumber = this.txtNumber.Text.Trim(); string paramState = "在库"; int returnValue = 0; if (GetBookState(paramNo) == paramState) { MessageBox.Show("此车以归还在库!"); return; } returnValue = this.guihuan(paramNo, paramState); if (returnValue > 0) { MessageBox.Show("归还操作成功!");
22

} else { MessageBox.Show("归还操作失败!"); } xiugai1(paramName, ParamNumber); } private void button2_Click(object sender, EventArgs e) { string paramNumber = this.txtNumber.Text.Trim(); string paramPwd = this.txtPwd.Text.Trim(); this.DoLogin(paramNumber, paramPwd); } (四)自行车管理模块 1、自行车管理

主要代码: //返回主界面 private void bt1Home_Click(object sender, EventArgs e) { frmintroduction myfrmintroduction = new frmintroduction(); myfrmintroduction.Show(); this.Hide(); this.DialogResult = DialogResult.No; } public void frmBooksql() { SqlConnection mySqlConnection = new SqlConnection(Conn); mySqlConnection.Open();
23

string sqlQuery = "SELECT * FROM Book"; SqlCommand mySqlCommand = new mySqlConnection);

SqlCommand(sqlQuery,

mySqlCommand.ExecuteNonQuery(); SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(mySqlCommand); //填充数据库 DataSet myDs = new DataSet(); mySqlDataAdapter.Fill(myDs); //关闭数据库 mySqlConnection.Close(); this.dgvBook.DataSource = myDs.Tables[0]; } private void dgvBook_DataError(object sender, DataGridViewDataErrorEventArgs e) { if (e.Exception != null && e.Context == DataGridViewDataErrorContexts.Commit) { MessageBox.Show("CustomerID value must be unique."); } } private void btAdd_Click(object sender, EventArgs e) { BikeAdd myfrmBookAdd = new BikeAdd(); myfrmBookAdd.Show(); } private void frmBook_Load(object sender, EventArgs e) { frmBooksql(); BUBook myBUBook = new BUBook(); DataTable myDt = new DataTable(); myDt = myBUBook.BUTyre(); this.cmbTyre.DataSource = myDt; this.cmbTyre.DisplayMember = "Tyre"; this.cmbTyre.ValueMember = "Tyre"; this.cmbTyre.SelectedValue.ToString(); this.cmbTyre.Text = ""; } private int DoDelete(string paramNo) { int returnValue = 0; BUBook myBUBook = new BUBook(); returnValue = myBUBook.BUDelete(paramNo); return returnValue;
24

} private void btDelete_Click(object sender, EventArgs e) { string paramNo = string.Empty; int selectCount = this.dgvBook.SelectedRows.Count; if (selectCount == 0) { MessageBox.Show("请选择要删除的行!"); } int returnValue = 0; for (int i = 0; i < selectCount; i++) { paramNo = this.dgvBook.SelectedRows[i].Cells[0].Value.ToString(); } if (MessageBox.Show("您确定要删除编码为" + paramNo + "的信息吗?", " 提示信息", MessageBoxButtons.OKCancel) == DialogResult.Cancel) { return; } for (int i = 0; i < selectCount; i++) { paramNo = this.dgvBook.SelectedRows[i].Cells[0].Value.ToString(); returnValue += this.DoDelete(paramNo); } if (returnValue > 0) { MessageBox.Show("删除成功!"); frmBooksql(); } else { MessageBox.Show("删除不成功!"); } } private void button1_Click(object sender, EventArgs e) { frmBooksql(); } private void Search(string paramNo, string paramName, string paramTyre, string paramState) { BUBook myBUBook = new BUBook(); DataTable myDataTable = new DataTable(); myDataTable = myBUBook.BUSearch(paramNo, paramName, paramTyre,
25

paramState); this.dgvBook.DataSource = myDataTable; } private void btFind_Click(object sender, EventArgs e) { string paramNo = this.txtNo.Text.Trim(); string paramName = this.txtName.Text.Trim(); string paramTyre = this.cmbTyre.Text.ToString(); string paramState = this.cmbState.Text.ToString(); this.Search(paramNo, paramName, paramTyre, paramState); } private void Update1() { int selectCount = this.dgvBook.SelectedRows.Count; if (selectCount == 0) { MessageBox.Show("请选择要更新的行!"); } string paramNO = this.dgvBook.SelectedRows[0].Cells[0].Value.ToString(); string paramName = this.dgvBook.SelectedRows[0].Cells[1].Value.ToString(); string paramTyre = this.dgvBook.SelectedRows[0].Cells[2].Value.ToString(); string paramPrice = this.dgvBook.SelectedRows[0].Cells[3].Value.ToString(); string paramState = this.dgvBook.SelectedRows[0].Cells[4].Value.ToString(); string paramTime = this.dgvBook.SelectedRows[0].Cells[5].Value.ToString(); string paramIntroduction = this.dgvBook.SelectedRows[0].Cells[6].Value.ToString(); string paramPictures = this.dgvBook.SelectedRows[0].Cells[7].Value.ToString(); BikeUpdata myfrmBookUpdata = new BikeUpdata(paramNO, paramName, paramTyre, paramPictures, paramPrice, paramState, paramTime, paramIntroduction); if (myfrmBookUpdata.ShowDialog() == DialogResult.No) { frmBooksql(); } } private void btChange_Click(object sender, EventArgs e) { Update1(); } 2、添加自行车

26

3、修改自行车信息

27

八、设计总结
作为本项目系统开发者, 从可行性分析到最后的详细设计、 编码测试等, 我都以身作则, 督促和安排了各种工作的进行。 作为惟一一个程序员, 依然积极地努力完成尚未解决的问题, 和朋友一起讨论,拿出解决问题的方法和结论。虽然在其他课程较多的艰苦情况下,我们依 然能处理好设计与其他课程的学习时间上分配。 在编码的环节上,因为采用的是纯粹的 C#语言编程,难免会与熟悉的 C++有所不同, 为此特意查看了相关的书籍,与队员们总结 C#语言与 C++的不同之处,写出本系统的第一 个测试版本。 在测试的环节上,从各个角度研究软件工程的测试方法,选择合适的测试用例,保证系 统的基本正确。 通过对本项目的开发, 提高了我分析解决实际问题的能力。 最主要的是提高了我的自学 能力,通过对本项目中的可行性报告、系统策划、软件测试、软件需求分析等环节分析与研 究, 使我掌握了软件工程化的一些基本理念和一些软件工程相关的辅助软件如 VS2008 的配 置和使用,受益匪浅。在开发本系统的过程中,要查询翻阅大量的参考文献以及网上搜索资 料,培养了我调查研究、查阅中外文献资料,运用国家标准、行业规范、手册、图册等资料 的能力。通过这次实验,把所学的理论知识与实际应用联系了起来,为我今后走向社会打下 了坚实的基础。 以上是我的这个项目基于服务的一些基本功能, 在项目实行的同时, 我们构想发扬校园 自行车文化。自行车作为一种交通工具,有其独特的魅力,它的历史、现状和未来无不散发 着一种文化气息。在校园里,结合这个项目创造出文化氛围,目的是宣传自行车特有的绿色
28

理念—健康、环保。在此方面,许多高校都成立了自行车协会,举办的活动有声有色。因此, 我们计划与校自行车协会合作, 依托我们的资源与他们的内容支持, 把学校的自行车文化推 广活动提到一个更高的高度。

九、项目开发意义
首先,工作站本身就是基于网络的。我们计划开办一个自行车文化网站。在这里,用户 可以在网上查询各个停车点(库)的自行车相关信息,还可以查询自己的租车情况,包括以 往租车记录以及超期与否。除此之外,网站上还提供了丰富的自行车文化交流栏目,如:自 行车科技前沿、政府政策、知识讲座等。这样不仅对该项目的实行起了极大的推动作用,而 且又大大丰富了同学们的校园文化生活。 其次,该工作站的初衷就是为了最大限度的方便同学生活,解除他们平时用车的苦恼。 而且,通过本项目的具体实施,积极有效的调配学校资源,合理地对自行车进行统一管理, 这对促进校园规划、整顿校貌等都十分具有现实意义。同时,作为改革的一个试点,本工作 站的进一步发展对我们全市乃至全国高校学生自行车管理工作无疑又起了一个示范性的作 用。这对减少国家的资源资金、人力、时间的浪费等意义都是非常重大的。 再次,随着网络时代的到来,可以说,数字化校园是一个学校走向创造性,实现素质化 教育,高效运行的基础。其中,改变传统的管理观念与运营方式是数字化的必要前提,自行 车的网络化综合管理就是校园数字化的一个实例。不仅这样,随着 Internet 接入,该系统还 可作为自行车文化的一种积极有效的宣传方式。

参考文献
[1] 刘乃丽.精通 ASP.NET2.0+SQLServer 2005 项目开发.人民邮电出版社 2007 年 04 月 [2](美)Bill Evjen.Scott Hanselenan.Farhan Muhammad. ASP.NET2.0 高级编程(第 四版).李敏级.清华大学出版社.2006 [3] (美)Stephen C.Perry.C#和.NET 核心技术[M].肖斌等.北京:机械工业出版社,2006 [4](美)内格尔,伊夫杰,格林等.C#高级编程(第四版)[M].李敏波。北京:清华大 学出版社,2006 [5](美)Kaili Watson .C#2005 数据库编程经典教程[M].人民邮电出版社.2007 [6] (美)沃尔特,本-甘,萨卡.Microsoft SQL Server 2005 技术内幕-T-SQL 程序设计 [M].北京:电子工业出版社,2007 [7]刘烨,季石磊等.C#编程及应用程序开发教程[M].北京:清华大学出版社,2007 [8] 殷泰晖,张强,杨豹等 C#编程从基础到实践,电子工业出版社 2007 [9]李永平.ASP.NET 2.0(C#)基础教程[M] .北京:清华大学出版社,2008 [10](美)John Kauffman Brian Matsik.ASP.NET 数据库入门经典—C#编程篇 北京:清华大学出版社,2003 年 1 月 [11] 《数据库系统概论》高等教育出版社 [12] 《数据库访问技术》高等教育出版社 [13] 《管理信息系统》北京大学出版社 [14] 《.NET 软件技术学习与实践》北京电子工业出版社

29


赞助商链接
相关文章:
基于“一卡通”的校园自行车防盗管理系统
基于“一卡通”的校园自行车防盗管理系统 【摘要】 近年来随着大学校园内自行车数量增多,自行车被盗事件已是屡见 不鲜,对此问题,学校一直没有提出良好可靠的解决办法...
校园自行车管理系统
29 “飞天”自行车租赁管理系统(安徽商贸职业技术学院) 摘要:本文针对当前大学校园学生拥有及使用自行车的现状,立足高校园区的实际,提出了一种解决方案—“飞天”...
软件需求与设计规格说明书——共享单车管理系统
软件需求与设计规格说明书——共享单车管理系统 - 校园共享单车运行管理系统 需求与设计规格说明书 姓名:邵江南 班级:14 计科 2 班 9999999999 邵江南安徽...
自行车租赁管理系统毕业设计报告_图文
云南农业职业技术学院 毕业设计报告 设计题目:自行车租赁管理系统设计与实现 学生:...基于java的校园自行车租... 62页 1下载券 自行车租赁系统可行性研... 6页...
高校校园自行车停放交通系统的探讨
高校校园自行车停放交通系统的探讨 - 龙源期刊网 http://www.qikan.com.cn 高校校园自行车停放交通系统的探讨 作者:梅馨雯 毕海云 秦菊 夏海波 来源:《艺术科技...
公共自行车管理系统
1111203128 测控技术与仪器 基于无线网的公共自行车管理系统的 设计——硬件部分 ...服 务器汇总各个自行车停放的数据,进行数据的存储和比对,将反馈信息通过 校园...
高校公共自行车管理系统的探析开题报告
本文的创新之处是 充分借鉴国外成功的经验, 分析关键问题所在, 通过确定初步的校园公共自行车系统设计方 案,致力于为建设高校自行车管理系统提供具有建设性的意见,让...
城市公共自行车管理系统
城市公共自行车管理系统的内容包括: 全数字化信息管理系统; GPS 智能监控调度系统;公共自行车 移动智能查询客户端;站点控制器,内置 GPRS、CDMA 或 3G 无线 通讯模组...
基于WEB的自行车租赁管理系统设计与实现(含源文件)_图文
本科毕业论文(设计)题目: 基于 WEB 的自行车租赁管理系统设计与实现 目 录 II 摘 要 互联网发展速度迅猛,电子商务成为 21 世纪商务发展道路上发展的一大热点。 ...
公共自行车管理系统毕业设计论文_图文
公共自行车管理系统毕业设计论文 - 本科生毕业设计 许昌市公共自行车管理系统 学专班学 院业级号 信息工程学院 网络工程 学生姓名联系方式指导教师 职称...
更多相关标签: