公交查询系统源程序清单Word文件下载.docx
《公交查询系统源程序清单Word文件下载.docx》由会员分享,可在线阅读,更多相关《公交查询系统源程序清单Word文件下载.docx(65页珍藏版)》请在冰豆网上搜索。
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
表1.2-3修改线路
修改线路
g_line_modify
表1.2-4线路选择
线路选择
g_line_select
表1.2-5站点查询
站点查询
g_station_query
肖蕾
表1.2-6线路查询
线路查询
g_line_query
表1.2-7账号管理
账号管理
g_user
表1.2-8系统登陆
系统登陆
login
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="
至少输入两个站点"
请输入站点"
}
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);
//把新线路插入到route表
Stringsql=string.Format("
insertinto[route]([rname])values('
)"
OleDbCommandcmd=newOleDbCommand(sql,conn);
cmd.CommandText=sql;
Booleana1=true;
for(inti=0;
i<
line_add_station_list.Items.Count;
i++)
{
//判断station中是否已有新增站点
stringsql_st=string.Format("
selectcount(sname)from[station]where[sname]='
line_add_station_list.Items[i].ToString());
OleDbCommandcmd_st=newOleDbCommand(sql_st,conn);
intnum_st=(int)cmd_st.ExecuteScalar();
if(num_st>
//station表中已有该站点无需添加
//没有该站点,则添加到其中
Stringsql_st1=string.Format("
insertinto[station]([sname])values('
OleDbCommandcmd_st1=newOleDbCommand(sql_st1,conn);
cmd_st1.CommandText=sql_st1;
cmd_st1.ExecuteNonQuery();
//把线路,站点和顺序信息插入到rsmap中
Stringsqls=string.Format("
insertinto[rsmap]([rname],[sname],[rsorder])values('
'
{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);
返回"
添加失败"
2.3.1增加站点(line_add_station_add_b)
//增加线路中增加按钮
privatevoidline_add_station_add_b_Click(objectsender,EventArgse)
line_add_station_add_t.Text=null;
if(line_add_station_add_t.Text=="
||line_add_station_add_t.Text=="
站点重复"
请输入删除站点"
站点列表为空"
Booleana=true;
//判断输入的站点是否已经存在在列表中
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);
2.3.2删除站点(line_add_station_del_b)
//增加线路中删除按钮
privatevoidline_add_station_del_b_Click(objectsender,EventArgse)
{//满足这些条件,不做任何操作}
{if(line_add_station_list.Items.Count<
1)
{line_add_station_add_t.Text="
if(line_add_station_list.SelectedIndex>
{line_add_station_list.Items.Remove(line_add_station_list.Items[line_add_station_list.SelectedIndex]);
if(line_add_station_add_t.Text=="
boola=false;
{//输入的站点在列表中存在,则移除
line_add_station_list.Items.Remove(line_add_station_list.Items[i]);
a=true;
}}}}}
3删除线路(g_line_del)
3.1功能说明
本模块的主要功能是删除线路,需要输入线路名称。
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="
列表为空"
if(line_del_t.Text=="
请输入路线"
elseif(line_del_t.Text=="
//查询删除的路线是否存在
stringsql_s=string.Format("
selectcount(*)from[rsmap]wherername='
line_del_t.Text);
OleDbCommandcmd_s=newOleDbCommand(sql_s,conn);
cmd_s.CommandText=sql_s;
intnum_s=(int)cmd_s.ExecuteScalar();
if(num_s<
删除线路不存在"
//线路存在
if((MessageBox.Show("
确认删除"
确认"
MessageBoxButtons.YesNo,MessageBoxIcon.Warning)==DialogResult.Yes))
//查询删除路线的站点数
stringsqlaa=string.Format("
selectcount(*)from[rsmap]where[rname]='
line_del_t.Text.ToString());
OleDbCommandcmdaa=newOleDbCommand(sqlaa,conn);
intnumaa=(int)cmdaa.ExecuteScalar();
numaa;
//找出删除路线的第i站
stringsql_i_index=string.Format("
select[sname]from[rsmap]where[rname]='
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]<
>
'
and[sname]='
line_del_t.Text.ToString(),name_i_index);
OleDbCommandcmdbb=newOleDbCommand(sqlbb,conn);
intnumbb=(int)cmdbb.ExecuteScalar();
if(numbb>
{//有同名站无需删除station中该站点}
//无同名站则需删除station表中该站点
stringsqlcc=string.Format("
delete*from[station]where[sname]='
name_i_index);
OleDbCommandcmdcc=newOleDbCommand(sqlcc,conn);
cmdcc.CommandText=sqlcc;
cmdcc.ExecuteNonQuery();
//删除route表中该线路中的信息
delete*from[route]whereRname='
//删除rsmap表中该线路,有关站点,顺序等信息
stringsql2=string.Format("
delete*from[rsmap]whereRname='
OleDbCommandcmd1=newOleDbCommand(sql1,conn);
OleDbCommandcmd2=newOleDbCommand(sql2,conn);
cmd1.CommandText=sql1;
cmd2.CommandText=sql2;
if((cmd1.ExecuteNonQuery()>
0)&
(cmd2.ExecuteNonQuery()>
0))
{//删除成功刷新列表
删除失败!
//其他刷新
flushLine_Station(conn);
}
4修改线路(g_line_modify)
4.1功能说明
本模块的主要功能是修改线路,可以修改线路或站点名,新增、删除站点,站点重新排序
在软件需求说明书中的3.1.6中。
4.2设计说明
2、要修改的线路名或站点名必须为已存在的路线名。
3、新增站点不可为已存在站点;
当某条线路站点数低于两个时,不可对你进行删除
4、站点排序可以将连续的站点经行调换,多次调换可实现站点的任意调序
相关流程图如下:
图4.2-1修改线路名
图4.2-2增加站点
图4.2-3删除站点
图4.2-4修改站点名
4.3原代码清单
4.3.1新增站点(line_modify_station