理工移动网点收费系统.docx
《理工移动网点收费系统.docx》由会员分享,可在线阅读,更多相关《理工移动网点收费系统.docx(22页珍藏版)》请在冰豆网上搜索。
![理工移动网点收费系统.docx](https://file1.bdocx.com/fileroot1/2022-11/23/f68540dd-123f-40c2-9713-2d9d666f42d9/f68540dd-123f-40c2-9713-2d9d666f42d91.gif)
理工移动网点收费系统
河北联合大学
数据库课程设计说明书
设计题目:
移动网点收费系统
姓名:
学号:
专业:
地理信息系统
班级:
指导教师:
黄丽
王晓红
王政
矿业工程学院
2013年1月5日
目 录
1概述1
1.1系统背景1
2需求分析1
3结构设计2
4行为设计4
5系统开发流程6
6系统使用说明及主要代码8
7课程设计体会及心得17
8参考文献17
1概述
1.1系统背景
随着国民经济的发展,我国的通信事业得到了长足的进步,到现在为止电信行业已经成为国民经济中一个高科技含量最高的单位之一。
尤其是在最近几年,移动的无线通信事业在国家的大力扶植下获得了飞速的发展,不仅营建了一批技术先进的基站、交换机,还实现了与邮电网的互连互通,发展了一大批客户。
整个GSM产业已经奠定了一个良好的发展开端。
因此,在电信信息化的指导思想下,就如何减少移动客户管理和缴费耗费的人力物力资源成为此次课程设计的主要课题。
2需求分析
需求是数据库开发的目的。
需求分析就是分析软件用户的需求是什么,开发者耗费大量的人力、物力、财力、时间进行设计工作,目的就是要达到使用者的需求。
需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,它在软件开发的过程中具有举足轻重的作用。
此次数据库设计就需求方面设计了几个重要的地方。
1)系统包含了客户的主要信息,为了维护和避免客户的重要资料被意外或是人为故意删除,系统内部建立了超级管理员和普通级管理员,超级管理员有添加、删除普通管理员和客户的权限。
2)当客户的信息被修改或添加时,系统需要提供一个客户的详细信息查询,以便在举行活动或是移动发送通知时能将信息准确到达客户手中。
而为了准确、及时的得到客户信息,系统要提供依据客户名字或客户代码搜索的方式来进行对客户的提取。
3)除了对客户进行查询还要对系统的每个操作员进行记录查询,记录每个在这工作的操作员的一些基本信息,比如编号,姓名,登录密码等,以便发生人事调动时超级管理员能及时讲操作员的信息进行更新。
4)除此之外还有开停机、开户、缴费功能。
5)操作员信息库包括:
编号,姓名,性别,密码,权限,家庭住址,出生日期,备注。
6)客户信息库包括:
编号,姓名,性别,出生日期,证件类型,证件编号,手机号,家庭住址,号码状态,备注。
7)账户信息库包括:
账户号,手机号,联系人,账户金额。
各种功能一起将对移动的收费业务进行执行和操作。
3结构设计
客户E-R图
操作员E-R图
账户E-R图
4行为设计
本系统的主要任务是对操作员、客户、手机号进行相关的操作管理。
本系统需要完成的功能主要有:
1)登陆界面
2)对操作员的详细查询,添加与删除操作。
3)对客户的详细查询,添加与删除操作。
4)对手机进行开停机、缴费操作。
5)对新手机号进行开户操作。
绘制功能图如下:
5系统开发流程
操作员成功进入“登录”界面后,进如“主窗体”界面,选择“客户信息管理”,下拉菜单分为两类:
“客户信息查询”,“客户信息修改”。
当进入“客户信息查询”后,可以选择“客户信息浏览”和“客户信息条件浏览”,按照里面编辑的一步一步的编辑即可。
进入“客户信息修改”窗口,可以选择“添加”和“删除”选项,进行添加操作和删除操作。
进入“操作员信息管理”下拉菜单选择“操作员信息查询”和“操作员信息修改”两项,“操作员信息查询”中有“操作员信息浏览”和“操作员条件查询”。
“操作员信息修改”分为“添加”和“删除”。
6系统使用说明及主要代码
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
strconn="datasource=.;initialcatalog=移动收费系统;userid=sa;password=123;"
strsql="select编号,密码from操作员表"
objcommand=NewSqlClient.SqlCommand(strsql,NewSqlClient.SqlConnection(strconn))
objcommand.Connection.Open()
objdr=objcommand.ExecuteReader(CommandBehavior.CloseConnection)
IfComboBox1.Text=""Then
MessageBox.Show("请输入登录条件!
")
ExitSub
EndIf
Withobjdr
DoWhile.Read=True
str1=.GetString(0)
str2=.GetString
(1)
IfTrim(TextBox1.Text)=Trim(str1)AndTrim(TextBox2.Text)=Trim(str2)Then
MessageBox.Show("登录成功!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
main.Show()
Me.Visible=False
ExitSub
EndIf
Loop
EndWith
i=i-1
Ifi=0Then
MessageBox.Show("您已经3次登录错误,系统自动退出!
","提示",MessageBoxButtons.OK,MessageBoxIcon.Error)
TextBox1.Text=""
TextBox2.Text=""
TextBox2.Focus()
Close()
EndIf
EndSub
PrivateSub登录_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
ComboBox1.Items.Add("超级管理员")
ComboBox1.Items.Add("管理员")
EndSub
PrivateSub客户查询_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
strsql="select*from客户表"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
'DataGridView1.DataSource=objds.Table("客户表")
bingpage=Me.BindingContext(objds,"客户表")
TextBox1.DataBindings.Add(NewBinding("text",objds,"客户表.编号"))
TextBox2.DataBindings.Add(NewBinding("text",objds,"客户表.姓名"))
TextBox3.DataBindings.Add(NewBinding("text",objds,"客户表.性别"))
TextBox4.DataBindings.Add(NewBinding("text",objds,"客户表.出生日期"))
TextBox4.Text=CDate(TextBox4.Text)
TextBox5.DataBindings.Add(NewBinding("text",objds,"客户表.家庭住址"))
TextBox6.DataBindings.Add(NewBinding("text",objds,"客户表.证件类型"))
TextBox7.DataBindings.Add(NewBinding("text",objds,"客户表.证件编号"))
TextBox9.DataBindings.Add(NewBinding("text",objds,"客户表.手机号"))
RichTextBox1.DataBindings.Add(NewBinding("text",objds,"客户表.备注"))
ComboBox1.Items.Add("编号")
ComboBox1.Items.Add("姓名")
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
bingpage.Position=1
Button1.Enabled=False
Button2.Enabled=False
Button3.Enabled=True
Button4.Enabled=True
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
bingpage.Position=bingpage.Position-1
Ifbingpage.Position<>1Then
Button1.Enabled=True
Button2.Enabled=True
Button3.Enabled=True
Button4.Enabled=True
Else
Button1.Enabled=False
Button2.Enabled=False
Button3.Enabled=True
Button4.Enabled=True
EndIf
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
bingpage.Position=bingpage.Position+1
Ifbingpage.Position<>bingpage.Count-1Then
Button1.Enabled=True
Button2.Enabled=True
Button3.Enabled=True
Button4.Enabled=True
Else
Button1.Enabled=True
Button2.Enabled=True
Button3.Enabled=False
Button4.Enabled=False
EndIf
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
bingpage.Position=bingpage.Count-1
Button1.Enabled=True
Button2.Enabled=True
Button3.Enabled=False
Button4.Enabled=False
EndSub
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click
objds.Clear()
IfComboBox1.Text=""OrTextBox8.Text=""Then
MessageBox.Show("请输入查询条件!
")
ExitSub
Else
strsql="select*from客户表where"&Trim(ComboBox1.Text)&"="&"'"&Trim(TextBox8.Text)&"'"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
Me.DataGridView1.DataSource=objds.Tables("客户表")
EndIf
EndSub
PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click
objds.Clear()
strsql="select*from客户表"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
Me.DataGridView1.DataSource=objds.Tables("客户表")
EndSub
PrivateSub客户修改_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
DimiAsInteger
ComboBox1.Items.Add("男")
ComboBox1.Items.Add("女")
Fori=1910To2009
ComboBox2.Items.Add(i)
Next
Fori=1To12
ComboBox3.Items.Add(i)
Next
Fori=1To31
ComboBox4.Items.Add(i)
Next
DimstrsqlAsString
strsql="select*from客户表"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
DataGridView1.ReadOnly=True
bingpage=Me.BindingContext(objds,"客户表")
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Button1.Enabled=False
Button2.Enabled=True
TextBox1.ReadOnly=False
TextBox2.ReadOnly=False
TextBox3.ReadOnly=False
TextBox4.ReadOnly=False
TextBox5.ReadOnly=False
TextBox6.ReadOnly=False
RichTextBox1.ReadOnly=False
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Button1.Enabled=True
DimsqlAsString
DimmAsString
m=Trim(ComboBox2.Text)&"-"&Trim(ComboBox3.Text)&"-"&Trim(ComboBox4.Text)
sql="insertinto客户表(编号,姓名,性别,出生日期,家庭住址,证件类型,证件编号,手机号,备注)values('"&Trim(TextBox1.Text)&"','"&Trim(TextBox2.Text)&"','"&Trim(ComboBox1.Text)&"',"&Trim(m)&",'"&Trim(TextBox3.Text)&"','"&Trim(TextBox4.Text)&"','"&Trim(TextBox5.Text)&"','"&Trim(TextBox6.Text)&"','"&Trim(RichTextBox1.Text)&"')"
cn.ConnectionString=strconn
cn.Open()
cmd=NewSqlClient.SqlCommand(sql,cn)
cmd.ExecuteNonQuery()
cmd.Dispose()
cn.Dispose()
Button1.Enabled=True
Button2.Enabled=False
MessageBox.Show("添加客户成功!
")
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
DataGridView1.ReadOnly=False
EndSub
PrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.Click
DataGridView1.ReadOnly=True
DimsqlAsString
sql="update客户表set家庭住址='"&Trim(TextBox8.Text)&"'or备注='"&Trim(RichTextBox2.Text)&"'where编号='"&Trim(TextBox9.Text)&"'or姓名='"&Trim(TextBox9.Text)&"'"
cn.ConnectionString=strconn
cn.Open()
cmd=NewSqlClient.SqlCommand(sql,cn)
cmd.ExecuteNonQuery()
cmd.Dispose()
cn.Dispose()
objds.Clear()
MessageBox.Show("修改成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
EndSub
PrivateSubButton5_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton5.Click
objds.Clear()
IfTextBox7.Text=""Then
MessageBox.Show("请输入查询条件!
")
ExitSub
Else
strsql="select*from客户表where手机号='"&Trim(TextBox7.Text)&"'or姓名='"&Trim(TextBox7.Text)&"'"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
Me.DataGridView1.DataSource=objds.Tables("客户表")
EndIf
EndSub
PrivateSubButton6_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton6.Click
DataGridView1.ReadOnly=True
DimsqlAsString
sql="delete客户表where编号='"&Trim(TextBox7.Text)&"'"
cn.ConnectionString=strconn
cn.Open()
cmd=NewSqlClient.SqlCommand(sql,cn)
cmd.ExecuteNonQuery()
cmd.Dispose()
cn.Dispose()
objds.Clear()
MessageBox.Show("删除成功","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
objds.Clear()
IfTextBox3.Text=""Then
MessageBox.Show("请输入查询条件!
")
ExitSub
Else
strsql="select姓名,手机号,号码状态from客户表where手机号='"&Trim(TextBox3.Text)&"'"
objda=NewSqlClient.SqlDataAdapter(strsql,strconn)
objda.Fill(objds,"客户表")
Me.DataGridView1.DataSource=objds.Tables("客户表")
EndIf
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DataGridView1.Enabled=False
EndSub
PrivateSubButton3_