版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 概述 随着时代的进步,科学技术的迅猛发展,计算机的应用已经设计到生活的方方面面,有的应用与国防领域,有的应用于教育领域,有的应用于商业领域,与之而来的是各种各样的软件,这些软件给人们提供了方便。人们也享受着这些软件给自己带来的便利,足不出户即可做很多很多的事情,可以网上购买衣服,充值话费等。在春节将要来临之际,很多学生都要订票回家,有很多学生回家坐火车,订火车票,当然也有不少学生回家坐汽车,订长途汽车票。为了方便订长途汽车票回家的学生,也为了方便长途汽车方面的运营。我特地做了一个长途汽车管理系统,这个系统对于回家的学生来说主要是为了查看长途汽车的相关信息,从而避免因订票紧张而订不到回家的长
2、途汽车票,同时学生还可以通过这个软件来查看自己所订的票数和乘坐的长途汽车编号、车次等相关信息;而对于长途汽车运营商来说,可以由系统管理员来添加新的长途汽车方面的信息,比如起始点和终点、起始时间等相关的重要信息。也可以删除某条长途汽车的信息,更改长途汽车相关信息等等。2 需求分析 在春节快来临之际,很多在远方求学的学生都希望回家过年,他们希望早点订到自己回家的票,不至于因订票紧张而错失回家的最后一班车,有很多学生回家乘坐火车,不少学生回家乘坐长途汽车,长途汽车虽然票价贵了点,但是比火车速度快,也没有火车拥挤,可以让那些希望早点回家的同学早点的回家,避免长时间乘坐火车,学生乘坐长途汽车可以直达目的
3、地,不需要中途到站停车。这个长途汽车管理系统软件一方面是针对需要订购长途汽车的学生服务,学生可以通过此软件来查看目前有哪些长途汽车可以回家的,还可以查看票价,实现订票;另外一方面可以给管理员来添加新的长途汽车信息,删除没有的长途汽车信息,修改长途汽车信息。这个软件主要是针对上面两个方面进行设计的,基本上满足了学生和管理员的需求。3 系统设计(一)e-r图 (二)关系模式 lb(cn,lno,lkind,lsp,lep,lst,lnt,ln,price) ps(id,pwd,slevel) bd(lno,id,cn,nm) (三)表的定义:1.lb表字段类型主键非空说明 cn nvarchar(
4、8)yy车次 lno nvarchar(6)ny长途汽车编号 lkind nvarchar(8)ny长途汽车种类 lsp nvarchar(8)ny起始点 lep nvarchar(8)ny终点 lst nvarchar(8)ny起始时间 lnt nvarchar(10)nn所需时间 lnintny剩余票数 priceintny票价2.ps表字段类型主键非空说明 id nvarchar(20)yy用户名 pwdnvarchar(20)ny密码 slevel nvarchar(8)ny权限 3.bd表字段类型主键非空说明 lno nvarchar(6)ny 长途汽车编号 id nvarchar(
5、20)ny 用户名 cn nvarchar(8)ny 所选车次 nm intny票数附:bd表的主键是(lno,id,nm) 4 系统实现及界面流程通过建立三个表格:lb,ps,bd,主键、外键之间的联系来创建数据库,在系统中第一个界面主要是给登陆和注册用的,普通乘客查看信息必须先注册,用注册的账号和自己设的密码来登陆,登陆之后进入第二个界面,可以查看长途汽车信息,订票,查看自己订的长途汽车票数和车次等;如果是管理员,则无需注册,数据库里面已经有管理员的账号了,管理员进入第二个界面,可以添加长途汽车信息,也可以更改长途汽车信息,删除长途汽车信息,但是订票对管理员是不允许的,当然管理员也可以修改
6、自己的密码,由于管理员无订票功能,故管理员也无需查看当前用户订票信息。流程图:已经注册? 注册新用户 否输入用户名和密码 是确认密码登录选择身份两次输入一致?重新输入 否管理员普通乘客 是注册成功输入用户名和密码密码正确?重新输入密码 否 是长途汽车查询界面查询长途汽车信息修改、删除、添加信息(管理员)订票(普通乘客)系统各功能模块的介绍(1)用户登录模块设计(a)登陆窗口如图1; 图1.登录界面(b)登录身份选择如图2图2.用户身份选择(c)注册界面如图3图3.注册界面(d)注册后提示如图4图4.注册后提示(f)注册成功提示如图5图5.提示注册成功(2)长途汽车查询模块设计(a) 普通乘客登
7、录成功后进入界面如图6图6.普通乘客进入长途汽车查询界面(b)查询长途汽车信息如图7图7.查询长途汽车信息(c)订票提示成功如图8图8.订票提示成功(d)查看用户订票信息图9.查询用户订票信息(e)用户密码修改提示如图10图10.用户密码修改提示(f)密码修改成功后提示如图11图11.密码修改成功后提示(g)管理员登录长途汽车管理系统界面如图12图12.管理员登录长途汽车管理界面(h)管理员查询长途汽车信息如图13图13.管理员查询长途汽车信息(i)管理员修改长途汽车信息如图14、图15图14.管理员修改后提示图15.管理员修改成功后(j)管理员删除长途汽车信息如图16、图17图16.管理员删
8、除长途汽车信息提示图17.管理员删除长途汽车信息成功后(k)管理员添加长途汽车信息如图18、图19图18.添加长途汽车后提示信息图19.添加成功后信息5 源代码form1窗口:using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.text;using system.windows.forms;using system.data.sqlclient;namespace longbus public p
9、artial class form1 : form public form1() initializecomponent(); private void button1_click(object sender, eventargs e) string use = login1(); login2(use); private void login2(string use) if (use = 管理员) sqlconnection cn = new sqlconnection(server=.;database=longbus;integrated security=true); cn.open(
10、); string id = textbox1.text; string pwd = textbox2.text; string sql = select count(*) from ps where id= + id + and pwd= + pwd + ; sqlcommand cmd = new sqlcommand(sql, cn); int result = (int)cmd.executescalar(); string sql1 = select count(*) from ps where id= + id + and pwd= + pwd + and slevel= + us
11、e + ; sqlcommand cmd1 = new sqlcommand(sql1, cn); int quanxian = (int)cmd1.executescalar(); cn.close(); if (result 0) form2 form2 = new form2(); form2.p = 1; form2.show(); form2.textbox9.text = textbox1.text; hide(); else messagebox.show(用户名或密码错误); private string login1() string use = bobox1
12、.text.tostring(); if (use = 普通乘客) sqlconnection cn = new sqlconnection(server=.;database=longbus;integrated security=true); cn.open(); string id = textbox1.text; string pwd = textbox2.text; string sql = select count(*) from ps where id= + id + and pwd= + pwd + ; sqlcommand cmd = new sqlcommand(sql,
13、cn); int result = (int)cmd.executescalar(); string sql1= select count(*) from ps where id= + id + and pwd= + pwd + and slevel=+use+; sqlcommand cmd1 = new sqlcommand(sql1, cn); int quanxian = (int)cmd1.executescalar(); cn.close(); if (result 0) if (quanxian0) form2 form2 = new form2(); form2.show();
14、 form2.textbox9.text = textbox1.text; hide(); else messagebox.show(权限不够); else messagebox.show(用户名或密码错误); return use; private void button2_click(object sender, eventargs e) register(); private void register() if (this.textbox3.text.tostring() = ) messagebox.show(用户名不能为空); else if (this.textbox4.text
15、.tostring() = ) messagebox.show(密码不能为空); else if (this.textbox5.text.tostring() = ) messagebox.show(确认密码不能为空); else if (this.textbox4.text.tostring() != this.textbox5.text.tostring() messagebox.show(两次密码不一致!); else if (messagebox.show(确定所填信息?, message, messageboxbuttons.yesno, messageboxicon.warning
16、) = dialogresult.yes) using (sqlconnection con = new sqlconnection(server=(local);trusted_connection=sspi;database=longbus) con.open(); sqlcommand cmd = new sqlcommand(insert into ps(id,pwd) values( + this.textbox3.text.tostring() + , + this.textbox5.text.tostring() + ), con); cmd.executenonquery();
17、 con.close(); messagebox.show(注册成功!); private void button3_click(object sender, eventargs e) application.exit(); private void button4_click(object sender, eventargs e) panel1.visible = false; panel2.visible = true; private void button5_click(object sender, eventargs e) panel2.visible = false; panel1
18、.visible = true; form2 窗口:using system;using system.collections.generic;using system.componentmodel;using system.data;using system.drawing;using system.text;using system.windows.forms;using system.data.sqlclient;namespace longbus public partial class form2 : form public form2() initializecomponent()
19、; string sql; public int p = 0; private void button5_click(object sender, eventargs e) form1 form1 = new form1(); form1.show(); hide(); private void button1_click(object sender, eventargs e) sql = select * from lb where lsp = + combobox1.text + and lep = + combobox2.text + ; datag1(); private void d
20、atag1() sqlconnection cn = new sqlconnection(server=.;database=longbus;integrated security=true); datatable dt = new datatable(); sqldataadapter da = new sqldataadapter(sql, cn); da.fill(dt); datagridview1.datasource =dt; private void form2_load(object sender, eventargs e) form1 f1 = new form1(); if
21、 (p = 0) button2.hide(); button3.hide(); button4.hide(); if (p = 1) button6.hide(); groupbox4.hide(); sqlconnection cn = new sqlconnection(server=.;database=longbus;integrated security=true); cn.open(); sqlcommand cmd1 = new sqlcommand(select distinct lsp from lb, cn); sqlcommand cmd2 = new sqlcomma
22、nd(select distinct lep from lb, cn); sqldatareader dr1 = cmd1.executereader(); while (dr1.read() combobox1.items.add(dr1lsp); dr1.close(); sqldatareader dr2 = cmd2.executereader(); while (dr2.read() combobox2.items.add(dr2lep); dr2.close(); cn.close(); private void button2_click(object sender, event
23、args e) if (this.textbox1.text.tostring() = ) messagebox.show(添加信息不能为空); else if (messagebox.show(确定添加?, message, messageboxbuttons.yesno, messageboxicon.warning) = dialogresult.yes) try using (sqlconnection cn = new sqlconnection(server=(local);trusted_connection=sspi;database=longbus) cn.open(); s
24、qlcommand cmd = new sqlcommand(insert into lb(cn,lno,lkind,lsp,lep,lst,lnt,ln,price) values (+textbox12.text+, + textbox1.text + , + textbox2.text + , + textbox3.text + , + textbox4.text + , + textbox5.text + , + textbox6.text + , + textbox7.text + , + textbox8.text + ), cn); cmd.executenonquery();
25、cn.close(); messagebox.show(success!); catch throw; datagridview1.datasource = null; sqlconnection cn1 = new sqlconnection(server=.;database=longbus;integrated security=true); datatable dt1 = new datatable(); sqldataadapter da = new sqldataadapter(select * from lb ,cn1); da.fill(dt1); datagridview1.
26、datasource = dt1; private void button3_click(object sender, eventargs e) delete(); this.button1_click(sender, e); private void delete() string str = textbox12.text; if (str != ) if (messagebox.show(您确定要删除本条信息吗?, 提示, messageboxbuttons.yesno, messageboxicon.warning) = dialogresult.yes) using (sqlconne
27、ction con = new sqlconnection(server=.;trusted_connection=sspi;database=longbus) con.open(); sqlcommand cmd = new sqlcommand(delete from lb where cn= + str + , con); cmd.connection = con; cmd.executenonquery(); datatable dt = new datatable(); datagridview1.datasource = dt; messagebox.show(删除成功); con
28、.close(); private void button4_click(object sender, eventargs e) update(); datag1(); private void update() if (this.textbox1.text.tostring() = ) messagebox.show(车次不能为空); else if (messagebox.show(确定修改?, message, messageboxbuttons.yesno, messageboxicon.warning) = dialogresult.yes) try string txt1 = th
29、is.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells0.value.tostring(); string sql = update lb set cn= + this.textbox12.text + where cn= + txt1 + ; sql(sql); sql = update lb set lno= + this.textbox1.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set lkind= + this.
30、textbox2.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set lsp= + this.textbox3.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set lep= + this.textbox4.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set lst= + this.textbox5.text + wh
31、ere cn= + this.textbox12.text + ; sql(sql); sql = update lb set lnt= + this.textbox6.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set ln= + this.textbox7.text + where cn= + this.textbox12.text + ; sql(sql); sql = update lb set price= + this.textbox8.text + where cn= + this.te
32、xtbox12.text + ; sql(sql); sqlconnection cn1 = new sqlconnection(server=.;database=longbus;integrated security=true); datatable dt1 = new datatable(); datagridview1.datasource = dt1; messagebox.show(success!); txt1 = ; catch (invalidcastexception a) throw (a); private void sql(string sql) try using
33、(sqlconnection cn = new sqlconnection(server=(local);trusted_connection=sspi;database=longbus) cn.open(); sqlcommand cmd = new sqlcommand(sql, cn); cmd.executenonquery(); cn.close(); catch (invalidcastexception a) throw (a); private void datagridview1_mouseclick(object sender, mouseeventargs e) mous
34、eclick(); private void mouseclick() this.textbox12.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells0.value.tostring(); this.textbox1.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells1.value.tostring(); this.textbox2.text = this.datagridview1.rowst
35、his.datagridview1.currentcell.rowindex.cells2.value.tostring(); this.textbox3.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells3.value.tostring(); this.textbox4.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells4.value.tostring(); this.textbox5.text
36、 = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells5.value.tostring(); this.textbox6.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells6.value.tostring(); this.textbox7.text = this.datagridview1.rowsthis.datagridview1.currentcell.rowindex.cells7.value.tostring(); this.textbox8.text = this.datagridview1.rowsthis.d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 审计服务群众工作制度
- 审计局支部会议制度
- 审计局单位议事决策制度
- 公园治安绩效考核制度
- 农贸市场绩效考核制度
- 咖啡厅财务规章制度
- 审计内控制度模板范本
- 农村集体审计制度
- 农业保险承保审计制度
- 发票第三方审计制度
- 更换引流袋技术操作
- 部编版三年级下册语文课课练全册(附答案)
- 军用靶场设计方案
- 管理会计学 第10版 课件 第3章 本-量-利分析
- Unit 3 Zhong Nanshan- Part B(小学英语教学)闽教版英语五年级下册
- 消防维保方案(消防维保服务)(技术标)
- 车辆交通危险点分析预控措施
- QC成果提高SBS防水卷材铺贴质量一次合格率
- 大舜号海难事故案例分析
- TGRM 057.1-2023 非煤岩岩爆倾向性评价规范 第1部分:室内指标测定及等级分类
- 2023年安徽新闻出版职业技术学院单招考试职业技能考试模拟试题及答案解析
评论
0/150
提交评论