vbnet期末大作业家庭成员Word文档下载推荐.docx
- 文档编号:18604429
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:42
- 大小:359.42KB
vbnet期末大作业家庭成员Word文档下载推荐.docx
《vbnet期末大作业家庭成员Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vbnet期末大作业家庭成员Word文档下载推荐.docx(42页珍藏版)》请在冰豆网上搜索。
10.参考来源9
1.题目:
vmyfamily
2.设计目的:
生活中常常遇到这种情况。
急着需要家人的信息可是他又不在身边还联系不上,导致一些不必要的麻烦。
总是感觉自己家里有些书似曾见过却想不到叫什么名字,尤其是在家庭成员较多的情况下更是麻烦。
基于此在本次大作业中,主要是利用VB.NET和SQL数据库来对对家庭成员的信息统计以及图书信息统计查询。
后台数据库的建立和维护更好的学习和掌握数据库原理及SQLServer2000数据库开发工具,进一步理解在程序设计语言环境下各种控件的使用方法,掌握数据库程序设计的基本概念和基本流程和培养良好的数据库程序开发能力,同时培养实际动手能力。
前台应用程序的设计主要是微软公司的VB.NET应用程序开发工具,是一种易学易用的面向对象的开发工具。
提供了大量的控件,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。
3.需求分析:
v家庭成员对成员信息进行浏览和查询以及添加删除
v家庭成员对图书进行浏览和查询以及添加删除
v家庭成员可进入系统提供的网站
v家庭成员可以通过系统提供的游戏和音乐放松自己
v家庭成员可以打印图书及成员报表
v系统提供帮助信息
4.设计平台
操作系统:
Win7
DBMS:
MicrosoftSQLServer2000
开发工具:
MicrosoftVisualStudio2005
5.设计思想:
v模块化设计,体现.NET面向对象的优势
v有好的界面设计
5.1.数据库的设计
5.1.1.创建数据库
(1)在服务器资源管理器中的任一节点右击。
(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名myfamily。
(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。
5.1.2.创建数据表
(1)在服务器资源管理器中右击数据库myfamily下的“表”文件夹。
在弹出的快捷菜单中执行“新建表”命令,出现表设计器。
(2)添加表的字段和其他详细资料。
各表数据结构如图所示。
a登陆数据表设计
b家庭成员信息数据表设计
c图书信息表设计
5.2.应用程序的设计
5.2.1.功能模块设计
5.2.2.窗体设计
如5.2.1所示示意图,按照其建立项目、窗体及所需的文档
6.关键技术
系统主要分为九大块,欢迎界面、登录界面、家庭成员信息模块、家庭图书信息模块、生活学习模块、娱乐天地模块、报表、关于、帮助等。
v欢迎界面主要使用Timer计时器控件,设置其Timer1.Interval=200,然后激发click事件同时设置了一个整型的参数DelayTime,当其值大于10的时候计时器停止工作进入登录界面。
v登录界面是和数据库相连接,所以要声明命名空间ImportsSystem.Data、ImportsSystem.Data.SqlClient。
当用户名或者密码为空的时候会调用MSgbox弹出对话框提示信息为空。
与数据库连接的时候使用到了Try……EndTry形式的异常处理,使得无法连接到数据库的时候系统会弹出对话框进行提示。
读取数据库的数据主要使用了DataReader.Read方法,判断数据信息是否一致,如果不一致则弹出对话框提示,密码或用户名不对。
退出按钮的设计使用MessageBox.Show来弹出是否退出的对话框。
v主页面上有菜单栏以及音乐播放和停止的可爱阿狸图案按钮。
播放及停止背景音乐主要是使用了My.Computer.Audio.Play和stop方法。
使用My.Application.Info.DirectoryPath来指定其播放路径。
当单击不同的菜单项会进入相应的界面。
v家庭成员信息浏览界面主要使用了数据的绑定DataSet、SqlDataAdapter、以及其fill方法,如txtSex.DataBindings.Add("
Text"
myDataSet,"
成员信息.性别"
)将每个控件和相应的数据字段相连接。
v成员添加及删除页面是使用sql语句的insertinto以及delete命令。
如果添加项为空会通过对话框提示,为了判断数据库中是否有即将添加的成员用查询的方法,使用语句Ifreader.Read()=True说明该成员已经存在。
添加性别时使用了RadioButton控件,在代码中用if语句判断RadioButton是否被选中,来实现性别选项的输入。
删除时同理先使用查询,Ifreader.Read()=False说明库中没有此人信息不能删除。
插入和删除时利用cmd=NewSqlCommand(insertCmd,conn)、cmd.ExecuteNonQuery()等来实现。
v家庭成员的修改及查询,设计了subqingkong()过程,在取消按钮以及添加按钮提示结果为否的时候调用,是数据保持原来状态不进行修改,查询的时候使用了Reader方法,当数据库中没有此人信息的时候采用异常处理Try……CatchexAsExceptionMsgBox("
查无此人。
"
MsgBoxStyle.Critical,"
错误"
)……EndTry来提示用户。
v图书查询及浏览模块,定义了whereStr字符串,当查询条件为空的时候whereStr=””,然后调用自定义的bindgridview(whereStr)和refreshdata()函数;
当查询条件不为空的时候,whereStr变为sql查询语句的条件连接到查询语句上,例如comm.CommandText=comm.CommandText&
"
where"
&
whereStr然后进行查询。
在此也是用DataTable以及DataSet、SqlDataAdapter。
单击DataGridView控件某一行的时候会在下方TextBox中显示图书详细信息,主要是使用了它DataGridView1_CellClick事件,使文本控件的内容等于它的字段的内容,例如txtId.Text=DataGridView1.CurrentRow.Cells.Item("
图书编号"
).Value.ToString。
数据查询的时候先生成了DataTable然后对其操作。
v生活学习模块使用选项卡控件,使得生活和学习模块分开,其上有ListLable制作的网址当单机的时候会弹出浏览窗体,通过上面的WebBrowser控件的Navigate方法来打开相应网址。
其余部分为RichTextBox控件所实现。
v拼图游戏中,使用动态添加技术Me.Controls.Add()添加图片控件同时使用Me.Controls.Remove(a)来卸载图片控件。
用AddHandlerCType(PicBlock(i),PictureBox).Click,AddressOfswap来实现事件的共享。
在设计图片分块时使用数组,由于用户在选择时图片大小不一定是程序设计的400*400,故需要将其保存为400*400大小,所以设计了保存函数,函数体用到Graphics.DrawImage来设定图片的像素大小。
在打乱图片顺序的时候利用ArrayList类实现随机数组效果,DimrdmAsRandom。
他们是在函数体Init中实现。
在组合框中使用代码添加数据,当其数据改变的时候会激活他的事件。
在交换函数中使用了sender函数形参中的对象,使用了类似于交换a和b的方法,分三步走b值赋给c,a值赋给b,c值赋给a。
v图像处理页面使用到了GDI绘图,重点使用Bitmap对象的GetPixel方法,然后使用双重循环来获得每个像素的值。
使用OpenFileDialog和saveFileDialog来加载和保存图片,在使用保存对话框时候,由于saveFileDialog本身不能保存,得使用Stream类,此例子还用到了它们的方法如过滤以及设置初始路径等。
学习使用with对象……endwith简化代码。
使用了math命名空间的min最小值函数。
实现柔化是采用像素周围相邻像素的平均值作为新的像素,减小像素间的差值。
实现浮雕主要是用像素及其相邻的像素之间的差值来代替该像素的值。
实现反转是将每个像素的颜色改为其OpenFileDialog1互补色。
v音频播放模块主要是使用了AxWindowsMediaPlayer控件的play,stop,pause方法等,也使用OpenFileDialog来加载音频。
v关于界面TableLayoutPanel以及LogoPictureBox来构造界面。
v报表界面实现建立报表然后再窗体上加载Rportviewer控件使报表显示。
v帮助页面主要调用help.chm文档实现,.chm文档是通过quickchm软件将写好的html文档转化成.chm文件的。
调用的时候需写出其路径。
v利用向导进行安装部署。
7.部分程序运行截图
8.程序源代码
(按住Ctrl键单击标题超链接到文档)
9.自我评价
此次程序设计遇到了大量的问题,尤其反映了学习过程中应提高动手能力。
起初在需求分析的时候想到的功能要远远强于现在所呈现的。
可是由于制作时间的限制和自身技术的限制删了其中部分功能。
在连接数据库的时候就遇到了大量的问题,先是语法的错误,后来就是连接的问题,为了解决这些问题重装了几次SQL和.NET,最后终于成功连接。
问题总是一个接一个当真正自己来做的时候,接着路径问题成了一大难,当把程序放到别的电脑上就出现了此问题,调试了很多次,换了很多种路径的写法也终于解决。
在想到要做娱乐游戏的时候,想法是做个稍微简单的,着手准备的时候却没有思路,一切都是重新开始,网上查找资料学习人家的游戏设计思路,了解大概,然后又查找图书学习一些新的控件的用法以及重新温故数组的应用。
几番波折做出一个简单的拼图游戏,概括来说就是要有算法基础。
图像处理设计是个意外,在美图秀秀上处理照片的时候有的思路,然后找寻资料学习如何设计,设计的功能比较简单。
最后的问题就是帮助文档的设计和安装部署。
这些也都是刚刚接触。
安装部署好不容易完成运行的时候发现都是问题,后来调试多次才发现需要将不是.NET生成的文件添加进来。
帮助文档的设计下载了好多软件,都是收费软件再或者是功能很差,试了三四个找到了合适的。
程序在调试过程中出现的问题也很多,比如要是删除的对象在数据库中没有怎么办等等,这时就想到了异常处理的应用。
最终完成的时候还是很开心的。
看到自己的程序也能安装,那心情真是,无法言语。
综合评价软件的设计不是很系统化模块之间的关联程度比较小。
但是各个模块使用的方法比较广泛,综合利用上课所学和自己自学。
添加删除查询的功能完善,没有出现意外。
游戏的设计虽然简单但是用到了很多方法,综合度较强。
还有就是运用了我很喜欢的图片。
10.参考来源
[1]罗斌等.VisualBasic.NET精彩编程实例集锦[M].中国水利水电出版,2005.
[2]曹圣祖等.VisualBasic.NET程序设计经典[M].科学出版社,2003.
[3]叶苗群等.VisualBasic.NET实践教程[M].北京:
清华大学出版社,2013.
11.源程序
欢迎界面1
登陆界面1
主页3
家庭成员信息浏览6
家庭成员信息添加与删除7
家庭成员信息查询与修改10
图书查询与浏览12
图书添加与删除14
生活与学习17
拼图游戏20
图像处理24
音频播放27
报表28
11.1.
11.2.
11.3.欢迎界面
PublicClass欢迎界面
DimDelayTimeAsInteger
PrivateSubwelcome_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
Me.Timer1.Enabled=True
Timer1.Interval=200
EndSub
PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.Tick
IfDelayTime>
12Then
Me.Timer1.Stop()
Me.Hide()
DimdengluAsNew登陆
denglu.Show()
Else
DelayTime=DelayTime+1
EndIf
EndClass
11.4.登陆界面
ImportsSystem.Data
ImportsSystem.Data.SqlClient
PublicClass登陆
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimidAsString
DimpwdAsString
id=Trim(txtUser.Text)
pwd=Trim(txtPassword.Text)
Ifid="
Then
MsgBox("
请输入用户名!
vbExclamation,"
警告"
)
txtUser.Focus()
ExitSub
Ifpwd="
请输入密码!
txtPassword.Focus()
DimconnStrAsString
connStr="
server=localhost;
database=my_famliy;
uid=sa;
pwd=;
DimconnAsSqlConnection
conn=NewSqlConnection(connStr)
Try
conn.Open()
CatchexAsException
EndTry
DimselectCmdAsString
selectCmd="
select*from登陆where姓名='
+txtUser.Text.Trim()+"
'
and密码='
+txtPassword.Text.Trim()+"
DimcmdAsSqlCommand
cmd=NewSqlCommand(selectCmd,conn)
DimreaderAsSqlClient.SqlDataReader
reader=cmd.ExecuteReader
Ifreader.Read=TrueThen
DimzhuyeAsNew主页
zhuye.Show()
用户名或密码错误,重新登陆!
Me.txtUser.Text="
Me.txtPassword.Text="
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimmessageAsString="
确定要退出吗?
DimcaptionAsString="
退出"
DimbuttonsAsInteger=MessageBoxButtons.YesNo
DimresultAsDialogResult
result=MessageBox.Show(Message,caption,MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1)
Ifresult=Windows.Forms.DialogResult.YesThen
Close()
PrivateSubLinkLabel1_LinkClicked(ByValsenderAsSystem.Object,ByValeAsSystem.Windows.Forms.LinkLabelLinkClickedEventArgs)HandlesLinkLabel1.LinkClicked
DimbAsString
b=Application.StartupPath&
\help.chm"
Help.ShowHelp(Me,b)
11.5.主页
PublicClass主页
InheritsSystem.Windows.Forms.Form
PrivateSub家庭图书馆浏览及查询_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles家庭图书馆浏览及查询.Click
Dim家庭图书馆浏览及查询AsNew图书馆浏览及查询
家庭图书馆浏览及查询.Show()
PrivateSub家庭图书馆添加及删除_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles家庭图书馆添加剂删除.Click
Dim家庭图书馆添加及删除AsNew图书添加及删除
家庭图书馆添加及删除.Show()
PrivateSub拼图游戏_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles拼图游戏.Click
Dim拼图游戏AsNew拼图游戏
拼图游戏.Show()
PrivateSub生活学习ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles生活学习ToolStripMenuItem.Click
Dim生活学习AsNew生活学习
生活学习.Show()
PrivateSub退出ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出ToolStripMenuItem.Click
result=MessageBox.Show(message,caption,MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button1)
PrivateSub家庭成员信息浏览ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles家庭成员信息浏览ToolStripMenuItem.Click
Dim家庭成员信息浏览AsNew家庭成员信息浏览
家庭成员信息浏览.Show()
PrivateSub家庭成员信息添加ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles家庭成员信息添加ToolStripMenuItem.Click
Dim家庭成员信息添加AsNew家庭成员信息添加及删除
家庭成员信息添加.Show()
PrivateSub家庭成员信息查询及修改ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles家庭成员信息查询及修改ToolStripMenuItem.Click
Dim家庭成员信息查询及修改AsNew家庭成员信息查询及修改
家庭成员信息查询及修改.Show()
PrivateSub图片特效处理_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles图片特效处理.Click
Dim图片特效处理AsNew图片特效处理
图片特效处理.Show()
PrivateSub报表ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles报表ToolStripMenuItem.Cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vbnet 期末 作业 家庭成员
![提示](https://static.bdocx.com/images/bang_tan.gif)