重庆航天职业技术学院
VB程序开发
(实训报告)
项目题目: 同学通讯录
专业班级: 11级计算机网络
学生学号: 11070013 学生姓名: 向舾 指导教师: 张扬
2013年 1 月 6 日
前言
“Visual Basic 程序设计”作为计算机专业的一门专业基础主干课程,其目的是为了使学生建立面向对象的可视化编程思想,培养学生逻辑编程能力,提高学生使用计算机的能力,从而培养学生认识丶分析和解决的思路和能力。它作为主干课程具有以下几点优势:一是相对于C语言和Java等语言,学生学习起来难度相对较小,特别是对于高职类的计算机专业的学生:二是设计变得十分快捷丶方便,用户无需大量的程序代码,便可设计出适用的程序:三是就目前的现实来看,Visual Basic 有着广泛的市场基础的前景,比较适合初级编程者学习
目录
一.系统功能与设计......................................................4 二.系统的主要功能实现及代码..................................4
1.From1(登陆界面)..................................................4
2.From2(转会界面)..................................................5
3.From3(查询界面)..................................................6
4.From4(删除界面)..................................................7
5.From5(添加界面)..................................................8
三.主要输入输出界面..................................................10 (1)From1(登陆界面)..............................................10 (2)From2(转换界面)..............................................10 (3)From3(查询界面)..............................................11 (4)From4(删除界面)..............................................11 (5)From5(添加界面)..............................................12 四.遇到的问题及解决方案............................................13 五.学习心得....................................................................14
一、系统功能与设计
本系统是一款通讯录系统,它主要功能是提供给用户高效的查询、添加和删除能力,系统本身也比较简单,用户的在使用时比较容易上手,本系统有一个登陆界面和4个分界面,在登录界面登录你的帐号和密码就可以看到你所需要的功能。
二、系统的主要功能实现及代码
1.from1(登陆界面)
From1的主要功能是登录,在窗口左边部件处添加一个ADODC部件,使其链接数据库。在窗体上分别添加一个ADODC部件、两个text窗口、两个command按钮、两个Label窗口和一个Picture图片窗口。将它们摆放到合适的位置。在输入代码之后如果没有输入帐号,系统就会提示“没有输入”,在输入后如果帐号或密码错误就会被提示错误。
代码:
登录:Private Sub Command1_Click() If (Trim(Text1) = \"\") Then
MsgBox \"没有输入\", vbExclamation, \"提示:\" Else
Adodc1.RecordSource = \"select * from mima\"
Adodc1.Refresh
Adodc1.Recordset.Find \"name=\'\" & Trim(Text1.Text) & \"\'\"
If Not Adodc1.Recordset.EOF Then
If Adodc1.Recordset(\"seclet\") = Trim(Text2) Then
Form1.Hide
Form2.Show
Else
MsgBox \"密码错误\", vbExclamation, \"提示:\"
End If
Else
MsgBox \"没有用户名\", vbInformation, \"提示:\"
End If
End If End Sub
退出:
Private Sub Command3_Click() End End Sub
2.From2(转会界面)
From2的主要功能是跳转到他几个功能界面所以他的控件也比较简单,只有4个command按钮。
代码:
查询:
Private Sub Command2_Click() Form2.Hide Form3.Show End Sub
删除:
Private Sub Command3_Click() Form2.Hide Form4.Show End Sub
添加:
Private Sub Command4_Click() Form2.Hide Form5.Show End Sub
退出:
Private Sub Command1_Click() End End Sub
3.From3(查询界面)
From3的功能主要是查询,在窗体上添加一个ADODC部件并与数据库连接,再在上面添加需要的部件,使其效果完美。运行时可以翻动上下条,可以看到数据库内存储的人员,并且在下面添加的Option中可以选择查询的姓名或是电话。
代码:
查询姓名: Private Sub Option1_Click() If Text3 = \"\" Then
MsgBox \"请输入姓名\" Else
Adodc1.Refresh
Adodc1.Recordset.Find \"sname=\'\" & Trim(Text3) & \"\'\" End If End Sub
查询电话: Private Sub Option2_Click() If Text3 = \"\" Then
MsgBox \"请输入电话\" Else
Adodc1.Refresh
Adodc1.Recordset.Find \"telephone=\'\" & Trim(Text3) & \"\'\" End If End Sub
翻动上下:
Private Sub Command3_Click()
Adodc1.Recordset.MoveNext
Command4.Enabled = True If Adodc1.Recordset.EOF Then
Command3.Enabled = False
Adodc1.Recordset.MoveLast End If End Sub
Private Sub Command4_Click()
Adodc1.Recordset.MovePrevious
Command3.Enabled = True If Adodc1.Recordset.BOF Then
Command4.Enabled = False
Adodc1.Recordset.MoveFirst End If End Sub
返回:
Private Sub Command2_Click() Form3.Hide Form2.Show End Sub
4.From4(删除界面)
From4的主要功能是删除通讯录中的号码,所以在窗体中添加了DataGrid部件并与数据库连接,用户可以清楚的看到通讯录中有那些号码,并可将不需要的号码删除。
代码:
删除:
Private Sub Command1_Click() Adodc1.Recordset.Delete Adodc1.Recordset.MovePrevious
MsgBox \"已经删除!\", vbInformation, \"提示:\" End Sub
返回:
Private Sub Command2_Click() Form4.Hide Form2.Show End Sub
5.From5(添加界面)
From5的主要功能是添加其他的号码进入通讯录,所以也在窗体上添加了DataGrid部件让其与数据库连接,并在窗体上添加两个command按钮,用户在添加号码是如果姓名有重复,机会提醒“该姓名已有,请重新输入”,如果用户在号码框中输入除数字外的其它符号就会提示“请输入正确的号码”。
代码:
添加:
Private Sub Command2_Click() If Trim(Text1.Text) = \"\" Then
MsgBox \"请输入姓名\", vbInformation, \"提示:\"
Text1.SetFocus
Exit Sub End If If Trim(Text2.Text) = \"\" Then
MsgBox \"请输入电话\", vbInformation, \"提示:\"
Text2.SetFocus
Exit Sub
End If
Adodc1.Refresh
Adodc1.Recordset.Find (\"sname=\'\" & Text1.Text & \"\'\")
If Not Adodc1.Recordset.EOF Then
MsgBox \"该姓名已有,请重新输入\", vbExclamation, \"提示:\"
With Text1
.SelStart = 0
.SelLength = Len(.Text)
.SetFocus
End With
Exit Sub End If With Adodc1.Recordset
.AddNew
.Fields(0) = Trim(Text1.Text)
.Fields(1) = Trim(Text2.Text)
.Update
.Requery End With
Set DataGrid1.DataSource = Adodc1
Text1.Text = \"\"
Text2.Text = \"\"
Text1.SetFocus
MsgBox \"已成功添加\", vbInformation, \"提示:\"
End Sub
提示输入错误:
Private Sub Text2_Change() For i = 1 To Len(Text2) If Not IsNumeric(Mid(Text2, i, 1)) Then MsgBox \"请输入正确的电话号码!\", vbExclamation, \"警告:\" Text2.SetFocus Text2.SelStart = Len(Text2) Exit Sub
End If
Next End Sub
返回:
Private Sub Command1_Click() Form5.Hide Form2.Show End Sub
主要输入输出界面
(1)From1(登录界面)
(2)From2(转换界面)
(3)From3(查询界面)
(4)From4(删除界面)
(5)From5(添加界面)
三、遇到的问题及解决方案
1、在做查询是查看上下翻动,只可以看当前和下一条,后面还有的号码就无法产看。
解决方案:改动了原来的代码,判断是否是数据库内的最后一条或第一条。
原代码:
Private Sub Command4_Click() Adodc1.Refresh Adodc1.Recordset.MovePrevious End Sub
改动后:
Private Sub Command4_Click() Adodc1.Recordset.MovePrevious Command3.Enabled = True
If Adodc1.Recordset.BOF Then
Command4.Enabled = False
Adodc1.Recordset.MoveFirst
End If End Sub
2、在怎么系统完成后,将系统拉倒其他电脑上用就会弹出ADODC数据库不对。
解决方案:就ADODC属性里的数据连接改为相对路径。
五、学习心得
刚学VB的时候感觉这很没意思,因为全是代码对于刚接触的我来说很难,可以从第一次上VB的上机课开始,就感觉很有意思,因为当看到自己做的一个程序做出来时你会有成就感,所以开始照着课本或老师讲的来做,结果却发现,怎么运行不了?明明是按照老师的步骤去做的,明明是按照老师的要求去做的,但是就是会遇到一些问题使程序运行不了。开始也没有管那么多,仍然是按照课本上的去做。但由于时间问题,做的还是有点粗糙,还是不免存在一定的问题。后来请教了一下同学,结果发现时代码的编写出现了错误,把代码改过来之后,程序终于可以打开运行了。在课程设计过程中,虽然我对程序设计不是很熟悉,但是通过老师详细的讲解,我按照步骤去做,遇到问题的时候先自己想办法解决,解决不了的就去问同学,问老师,通过这种学习,收获很大,学会了自己解决棘手问题。
通过vb的学习,让我知道了很多学习这类课程的道理,首先要保持良好的学习心态,自信,自强,积极主动学习,克服畏难情绪,树立学好程序设计的信心。要了解概念:VB程序设计本身并不复杂,变量,函数,条件语句,循环语句等概念较多.要真正能进行程序设计,就要深入理解这些概念.应该重视概念的学习。还有就是要自己动手编写程序,亲自动手进行程序设计是培养逻辑思维的好方法.因此我们得多动手编写程序,逐渐提高写程序的能力。自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,做起来才比较从容.等你在编写大量程序之后。上机调试程序应注意多问问同学,多问问老师、,把不懂的地方标出来。养成良好的编程习惯,程序构思要有说明;学会如何调试程序;对运行结果要做正确与否的分析。