公交查询系统源程序清单.docx
《公交查询系统源程序清单.docx》由会员分享,可在线阅读,更多相关《公交查询系统源程序清单.docx(65页珍藏版)》请在冰豆网上搜索。
![公交查询系统源程序清单.docx](https://file1.bdocx.com/fileroot1/2022-11/20/5509cf83-4bdb-4ae7-afd3-e8241d424a4b/5509cf83-4bdb-4ae7-afd3-e8241d424a4b1.gif)
公交查询系统源程序清单
目录
1引言3
1.1标题3
1.2模块开发情况表3
2增加线路(g_line_add)5
2.1功能说明5
2.2设计说明5
2.3原代码清单6
2.3.1增加站点(line_add_station_add_b)8
2.3.2删除站点(line_add_station_del_b)9
3删除线路(g_line_del)10
3.1功能说明10
3.2设计说明10
3.3原代码清单10
4修改线路(g_line_modify)13
4.1功能说明13
4.2设计说明13
4.3原代码清单16
4.3.1新增站点(line_modify_station_add_b)16
4.3.2删除站点(line_modify_station_del_b)18
4.3.3站点上移(line_modify_station_up_b)21
4.3.4站点下移(line_modify_station_down_b)22
4.3.5站点改名(line_modify_station_name_b)23
4.3.6线路改名(line_modify_line_name_b)26
5账号管理(g_user)28
5.1功能说明28
5.2设计说明28
5.3原代码清单30
5.3.1删除用户(user_del_b)30
5.3.2修改密码(user_password_modify_b)31
5.3.3修改用户名(user_name_modify_b)35
5.3.4新增用户(user_add_b)36
6站点查询(g_station_query)38
6.1功能说明39
6.2设计说明39
6.3原代码清单39
7线路查询(g_line_query)41
7.1功能说明41
7.2设计说明41
7.3原代码清单42
8线路选择(g_line_select)44
8.1功能说明44
8.2设计说明45
8.3原代码清单46
9系统登陆(login)51
9.1功能说明51
9.2设计说明51
9.3原代码清单51
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