公交查询系统源程序清单.docx
- 文档编号:27037395
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:75
- 大小:147.85KB
公交查询系统源程序清单.docx
《公交查询系统源程序清单.docx》由会员分享,可在线阅读,更多相关《公交查询系统源程序清单.docx(75页珍藏版)》请在冰豆网上搜索。
公交查询系统源程序清单
公交查询系统源程序清单
————————————————————————————————作者:
————————————————————————————————日期:
1引言
1.1标题
公交查询系统BusManager
增加线路g_line_add
删除线路g_line_del
修改线路g_line_modify
账号管理g_user
站点查询g_station_query
线路查询g_line_query
线路选择g_line_select
系统登陆login
1.2模块开发情况表
表1.2-1增加线路
模块名称
增加线路
标识符
g_line_add
程序编制员签名
斯健
修改完成日期
2011/6/23
表1.2-2删除线路
模块名称
删除线路
标识符
g_line_del
程序编制员签名
斯健
修改完成日期
2011/6/23
表1.2-3修改线路
模块名称
修改线路
标识符
g_line_modify
程序编制员签名
斯健
修改完成日期
2011/6/23
表1.2-4线路选择
模块名称
线路选择
标识符
g_line_select
程序编制员签名
斯健
修改完成日期
2011/6/23
表1.2-5站点查询
模块名称
站点查询
标识符
g_station_query
程序编制员签名
肖蕾
修改完成日期
2011/6/23
表1.2-6线路查询
模块名称
线路查询
标识符
g_line_query
程序编制员签名
肖蕾
修改完成日期
2011/6/23
表1.2-7账号管理
模块名称
账号管理
标识符
g_user
程序编制员签名
肖蕾
修改完成日期
2011/6/23
表1.2-8系统登陆
模块名称
系统登陆
标识符
login
程序编制员签名
肖蕾
修改完成日期
2011/6/23
2增加线路(g_line_add)
2.1功能说明
本模块的主要功能是新增线路,需要输入线路名称,以及此线路上需要添加的站点名称。
在软件需求说明书中的2.1.2-
(2)中。
2.2设计说明
1、本模块属于管理员操作,线路管理和站点管理的一部分
2、输入的线路名不能为已存在的路线名,站点名不可重复。
3、输入要新增的线路名,并依次对此线路上的站点名输入;要求以上两项必须全部输入;
系统刷新后线路增加成功。
图2.2增加线路流程
2.3原代码清单
//增加线路新增按钮
privatevoidline_add_b_Click(objectsender,EventArgse)
{
if(line_add_line_add_t.Text==""||line_add_line_add_t.Text=="请输入线路")
{
line_add_line_add_t.Text="请输入线路";
}
else
{
if(line_add_station_list.Items.Count<2)
{
if(line_add_station_list.Items.Count==1)
line_add_station_add_t.Text="至少输入两个站点";
else
line_add_station_add_t.Text="请输入站点";
}
else
{
stringconStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Application.StartupPath+"\\Busstation.mdb";
OleDbConnectionconn=newOleDbConnection(conStr);
conn.Open();
//判断该录像是否已存在
stringsql1=string.Format("selectcount(*)from[route]wherername='{0}'",line_add_line_add_t.Text);
OleDbCommandcommand=newOleDbCommand(sql1,conn);
intnum=(int)command.ExecuteScalar();
if(num>0)
MessageBox.Show("该线路已经存在","重新输入",MessageBoxButtons.OK,MessageBoxIcon.Information);
else
{
//把新线路插入到route表
Stringsql=string.Format("insertinto[route]([rname])values('{0}')",line_add_line_add_t.Text);
OleDbCommandcmd=newOleDbCommand(sql,conn);
cmd.CommandText=sql;
Booleana1=true;
for(inti=0;i { //判断station中是否已有新增站点 stringsql_st=string.Format("selectcount(sname)from[station]where[sname]='{0}'",line_add_station_list.Items[i].ToString()); OleDbCommandcmd_st=newOleDbCommand(sql_st,conn); intnum_st=(int)cmd_st.ExecuteScalar(); if(num_st>0) { //station表中已有该站点无需添加 } else { //没有该站点,则添加到其中 Stringsql_st1=string.Format("insertinto[station]([sname])values('{0}')",line_add_station_list.Items[i].ToString()); OleDbCommandcmd_st1=newOleDbCommand(sql_st1,conn); cmd_st1.CommandText=sql_st1; cmd_st1.ExecuteNonQuery(); } //把线路,站点和顺序信息插入到rsmap中 Stringsqls=string.Format("insertinto[rsmap]([rname],[sname],[rsorder])values('{0}','{1}','{2}')",line_add_line_add_t.Text,line_add_station_list.Items[i].ToString(),i); OleDbCommandcmds=newOleDbCommand(sqls,conn); cmds.CommandText=sqls; if(cmds.ExecuteNonQuery()<=0) a1=false; } if(cmd.ExecuteNonQuery()>0&&a1) { //新增成功后执行的操作 line_add_line_add_t.Text=null; intnuma=line_add_station_list.Items.Count; line_add_station_list.Items.Clear(); flushLine_del(conn); flushLine_modify(conn); } else MessageBox.Show("返回","添加失败",MessageBoxButtons.OK,MessageBoxIcon.Information); } } } } 2.3.1增加站点(line_add_station_add_b) //增加线路中增加按钮 privatevoidline_add_station_add_b_Click(objectsender,EventArgse) { if(line_add_line_add_t.Text==""||line_add_line_add_t.Text=="请输入线路") { line_add_line_add_t.Text="请输入线路"; line_add_station_add_t.Text=null; } else { if(line_add_station_add_t.Text=="") { line_add_station_add_t.Text="请输入站点"; } else { if(line_add_station_add_t.Text=="请输入站点"||line_add_station_add_t.Text=="站点重复"||line_add_station_add_t.Text=="至少输入两个站点"||line_add_station_add_t.Text=="请输入删除站点"||line_add_station_add_t.Text=="站点列表为空") { line_add_station_add_t.Text="请输入站点"; } else { Booleana=true; for(inti=0;i { //判断输入的站点是否已经存在在列表中 if(line_add_station_list.Items[i].Equals(line_add_station_add_t.Text)) a=false; } if(a) { //列表中不存在,说明站点不存在,添加到列表中 line_add_station_list.Items.Add((String)line_add_station_add_t.Text); line_add_station_add_t.Text=null; } else { line_add_station_add_t.Text="站点重复"; } } } } } 2.3.2删除站点(line_add_station_del_b) //增加线路中删除按钮 privatevoidline_add_station_del_b_Click(objectsender,EventArgse) { if(line_add_line_add_t.Text==""||line_add_line_add_t.Text=="请输入线路") {//满足这些条件,不做任何操作} else {if(line_add_station_list.Items.Count<1) {line_add_station_add_t.Text="站点列表为空";} else { if(line_add_station_list.SelectedIndex>=0) {line_add_station_list.Items.Remove(line_add_station_list.Items[line_add_station_list.SelectedIndex]); line_add_station_add_t.Text=null; } else { if(line_add_station_add_t.Text=="请输入站点"||line_add_station_add_t.Text=="站点重复"||line_add_station_add_t.Text=="至少输入两个站点"||line_add_station_add_t.Text=="请输入删除站点"||line_add_station_add_t.Text==""||line_add_station_add_t.Text=="站点列表为空") {line_add_station_add_t.Text="请输入删除站点";} else { boola=false; for(inti=0;i {//输入的站点在列表中存在,则移除 if(line_add_station_list.Items[i].Equals(line_add_station_add_t.Text)) { line_add_station_list.Items.Remove(line_add_station_list.Items[i]); a=true; } } if(a) { line_add_station_add_t.Text=null; } }}}}} 3删除线路(g_line_del) 3.1功能说明 本模块的主要功能是删除线路,需要输入线路名称。 在软件需求说明书中的2.1.2- (2)中。 3.2设计说明 1、本模块属于管理员操作,线路管理的一部分 2、输入的线路名必须是已存在的路线名。 3、在线路列表里选择要删除的线路,系统提示是否确认删除。 图3.2删除线路流程 3.3原代码清单 //删除路线 privatevoidline_del_b_Click(objectsender,EventArgse) { if(line_del_line_list.Items.Count==0) { line_del_t.Text="列表为空"; } else { if(line_del_t.Text=="") { line_del_t.Text="请输入路线"; } elseif(line_del_t.Text=="列表为空") { line_del_t.Text="列表为空"; } else { stringconStr="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+Application.StartupPath+"\\Busstation.mdb"; OleDbConnectionconn=newOleDbConnection(conStr); conn.Open(); //查询删除的路线是否存在 stringsql_s=string.Format("selectcount(*)from[rsmap]wherername='{0}'",line_del_t.Text); OleDbCommandcmd_s=newOleDbCommand(sql_s,conn); cmd_s.CommandText=sql_s; intnum_s=(int)cmd_s.ExecuteScalar(); if(num_s<=0) { line_del_t.Text="删除线路不存在"; } else { //线路存在 if((MessageBox.Show("确认删除","确认",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes)) { //查询删除路线的站点数 stringsqlaa=string.Format("selectcount(*)from[rsmap]where[rname]='{0}'",line_del_t.Text.ToString()); OleDbCommandcmdaa=newOleDbCommand(sqlaa,conn); intnumaa=(int)cmdaa.ExecuteScalar(); for(inti=0;i { //找出删除路线的第i站 stringsql_i_index=string.Format("select[sname]from[rsmap]where[rname]='{0}'and[rsorder]={1}",line_del_t.Text.ToString(),i); OleDbCommandcmd_i_index=newOleDbCommand(sql_i_index,conn); stringname_i_index=(string)cmd_i_index.ExecuteScalar(); //判断rsmap表中是否还有同名站 stringsqlbb=string.Format("selectcount(*)from[rsmap]where[rname]<>'{0}'and[sname]='{1}'",line_del_t.Text.ToString(),name_i_index); OleDbCommandcmdbb=newOleDbCommand(sqlbb,conn); intnumbb=(int)cmdbb.ExecuteScalar(); if(numbb>0) {//有同名站无需删除station中该站点} else { //无同名站则需删除station表中该站点 stringsqlcc=string.Format("delete*from[station]where[sname]='{0}'",name_i_index); OleDbCommandcmdcc=newOleDbCommand(sqlcc,conn); cmdcc.CommandText=sqlcc; cmdcc.ExecuteNonQuery(); } } //删除route表中该线路中的信息 stringsql1=string.Format("delete*from[route]whereRname='{0}'",line_del_t.Text.ToString()); //删除rsmap表中该线路,有关站点,顺序等信息 stringsql2=string.Format("delete*from[rsmap]whereRname='{0}'",line_del_t.Text.ToString()); OleDbCommandcmd1=newOleDbCommand(sql1,conn); OleDbCommandcmd2=newOleDbCommand(sql2,conn); cmd1.CommandText=sql1; cmd2.CommandText=sql2; if((cmd1.ExecuteNonQuery()>0)&&(cmd2.ExecuteNonQuery()>0)) {//删除成功刷新列表 flushLine_del(conn); } else MessageBox.Show("返回","删除失败! ",MessageBoxButtons.OK,MessageBoxIcon.Information); //其他刷新 flushLine_del(conn); flushLine_modify(conn); flushLine_Station(conn); } } } } } 4修改线路(g_line_modify) 4.1功能说明 本模块的主要功能是修改线路,可以修改线路或站点名,新增、删除站点,站点重新排序 在软件需求说明书中的3.1.6中。 4.2设计说明 1、本模块属于管理员操作,线路管理和站点管理的一部分 2、要修改的线路名或站点名必须为已存在的路线名。 3、新增站点不可为已存在站点;当某条线路站点数低于两个时,不可对你进行删除 4、站点排序可以将连续的站点经行调换,多次调换可实现站点的任意调序 相关流程图如下: 图4.2-1修改线路名 图4.2-2增加站点 图4.2-3删除站点 图4.2-4修改站点名 4.3原代码清单 4.3.1新增站点(line_modify_station_add_b) //修改线路增加站点 privatevoidline_modify_station_add_b_Click(objectsender,EventArgse) { if(line_modify_station_list.Items.Count==0) { line_modify_station_t.Text="没有线路,无法添加"; } else { if(line_modify_station_t.Text=="") { line_modify_station_t.Text="请输入站点"; } else { if(line_modify_station_t.Text=="请输入站点"||line_modify_station_t.Text=="站点重复"||line_modify_station_t.Text=="名称未改变"||line_modify_station_t.Text=="请输入修改名"||line_modify_station_t.Text=="删除站点不存在"||line_modify_station_t.Text=="请输入删除站点"||line_modify_station_t.Text=="站点个数不可少于2") { line_modify_station_t.Text="请输入站点"; } elseif(line_modify_station_t.Text=="没有线路,无法添加") { line_modify_station_t.Text="没有线路,无法添加"; } else { Booleana=true; for(inti=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 公交查询 系统 源程序 清单