大学软件开发与应用课程PPt--RJ4D._第1页
大学软件开发与应用课程PPt--RJ4D._第2页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据控件厲性Connect:指定数据库类型AccessDatabaseName:指定具体使用的数据库RecordsetType:确定记录集合类型。共 有3个选项:Table 0 Dynaset 1 Snapshot 2Recordsource:确定可具体访问的数据 表、一个存储查询等Readonly:用于控制能否对记录集进行写 操作。True不能,False能依附控件属性DataSource:通过指定一个有效的数据控件连接一个数据库DataField:设置数据库有效的字段即绑定字段6数摒控件的常用方法Refresh:当用户对数据库进行修改后, 调用这 个方法将重新取出数据,并将当前记 录设叠为

2、第一*条记录。当改变了数据控件的DatabaseName Readonly、Connect等属性时,须使用 此方法重新激活。辑。语句格式如下:数据控件名.RecordSet.AddNew:1清除数据缓冲区中的信息2将当前记录移到最后,为添加 好准备语句格式如下:v 数据控件名 RecordSet AddNewEdit:用于将当前记录复制到数据缓冲区以便编又称复制缓 冲区,旻专 为暂存将要写到数据库 中白勺数据而 开辟的一个 内存空间8数据控件的常用方法Update:r -将数据缓冲区中的内容送到数据库中。语句 格式如下:v 数据控件名.RecordSet.UpdateUpdateControl

3、s:将数据从数据库中重新读到数据缓冲区中, 放弃对当前记录的修改(在执行此方法前未执 行iiMove方法)语句瘩式如卞:v 数据控件名 UpdateControls数据控件的常用方法Delete:删除记录集中的当前记录(无任何提 示)。记录指针不动(控件中仍显示该记 录)。语句格式如下:v 数据控件名.RecordSet DeleteMove:移动记录指针1MoveFirst:将记录指针移至第一条记录。2MoveLas t:将记录指针移至最后一条记录。3MovePrevious:将记录指针上移一条记录。4MoveNext:将记录指针下移一条记录。5Move ( n ):将记录指针下移n条记录。

4、n为整 数值。语句格式如下:v 数据控件名.RecordSet.Move方法名1 增加记录.调用AddNew方法给各字段赋值调 用Update方法2.删除记录定1立被删 除的记录1更之成为当 对记录 f谓用Delete方法 移动记录指针(使用Move方法)12Private Sub AddBttn_Click()AddBttn.Visible = 0DelBttn.Visible = 0OkBttn. Visible = -1CancelBttn. Visible = -1 Data I.Recordset. AddNew Txh.SetFocusEnd SubPrivate Sub OkBt

5、tn_Click()Datal .Recordset.UpdateAddBttn.Visible = -1DelBttn.Visible = -1OkBttn.Visible = 0CancelBttn. Visible = 0End Sub将缓二中区中的数据写至jJ数据库中11土曾力口记录Private Sub CancelBttn_Click()Data 1. UpdateControlsAddBttn.Visible = -1DelBttn.Visible = -1OkBttn.Visible = 0Cancel Bttn. Visible = 0Txh .SetFocusEnd Sub

6、Private Sub DelBttn_Click()Datal .Recordset.DeleteData 1 .Recordset. MoveNextIf Datal.Recordse匚EOF ThenData 1 .Recordset.MovePreviousIf Datal .Recordset.BOF ThenMsgBox64当前库中已无记录”,vbOKOnly + vblnformation,n注意End If删除记录End IfEnd Sub16Private Sub Exit_Click()Unload Me退End Sub山Private Sub Open_Click()Co

7、mmonDialogl .ShowOpenDatal .DatabaseName =动态打开文件17CommonDialog 1F ileNameDatal .RecordSource =”学生Datal. RefreshEnd SubVB程序设计示例18主口VB程序设计示例(-)选择年级口VB程序设计示例20般查询19定义全局变XN, XZ, XM, XHPublic XN As Integer Public XZ As Integer Public XM AsString * 6Public XH As Long自定义子过flLSRDX,示不冋的榆入框,_莽挣用户输入査询戒修改对象名称理学

8、号Sub SRDX()Select Case XZCase XXM = InputBox$(M请输入需査询的学生姓名舄”个别査询”)Case 2XH = Val(InputBox$(ni#输入需査询的学生学号”个别查询)Case 3XM = InputBox$(-W输入需修改的学生姓名”修改”)EndSelectEnd Sub主窗口 :选择一般査询子菜单Private Sub Seekl_Click()XZ = OUnload Me xznj .Visible =TrueEnd Sub,选择按姓名查询选项Private Sub SName_Click()XZ = 1Unload Me xznj

9、 V isible =TrueEnd Sub选择按学号査询选项Private Sub SNo_Click()XZ = 2Unload Me xznj .Visible= TrueEnd Sub选择修改选项Private Sub Modi_ Click()XZ = 3Unload Mexznj.Visible = TrueEnd Sub选择结束程序子菜单Private Sub Exit_Click()EndEnd Sub选择年级窗口代码:Private Sub Form_Activate()Dim A As Integer设置窗体和窗体中标签的Caption属性If XZ = 0 Or XZ =

10、 1 Or XZ = 2 ThenCaption =”查询指定学生的成绩”Labell.Caption =请选择要査阅哪个年级”ElseCaption =修改指定学生的成绩Labell.Caption =八请选择要修改哪个年级八End If为选择年级单选钮控件组的Value属性赋初值For A = 0 To 2OptXN(A).V alue = FalseNextCmdJR.Enabled = False*窗口初启时,进入按钮不可执行End Sub23选挣年级窗口代码(2):Private Sub CmdFH_Click()Unload Meks.Visible = TrueEnd SubPr

11、ivate Sub OptXN_Click(Index As Integer)单击控件组中某一按钮XN = Index,将所选年级的编号送入变量XNCmdJR.Enabled = True,进入按钮允许执行End Sub单击返回按钮选择年级窗口代码:Private SubCmdJR_Click()Call SRDXUnload Me IfXZ= 0 Thensjl.ShowElseIf Len(LTrim$(XM) = 0 Or Len(LTrim$(XH) = 0 Then判断输入的学号或姓名是否为空ks.ShowElseUnload sj2Load sj2,装入sj2窗口End IfEnd

12、 IfEnd Sub丫Private Sub Form_Load() DatXN.DatabaseName =A:test.mdb Select Case XNCase 0DatXN.RecordSource =T 年级Case 1DatXN.RecordSource = ”2年级Case 2、DatXN.RecordSource = ”3年级”End SelectDatXN. RefreshDatXN.Recordset.EditCmdPREVIOUS.Enabled = FalseEnd Sub26单击进入按钮调用输入对象子过程如果是一般査询 ,显示sjl窗口一般查询窗体代码28Priva

13、te Sub CmdFIRST_Click()DatXN.Recordset.MoveFirstCmdPREVIOUS.Enabled = FalseCmdNEXT.Enabled = TrueEnd SubPrivate Sub CmdPREVTOUS_Click()CmdNEXT.Enabled = TrueDatXN.Recordset.MovePrevious IfDatXN.Recordset.EOF ThenCmdPREVIOUS.Enabled = FalseDatXN.Recordset.MoveFirstEnd IfEnd SubPrivate Sub CmdNEXT_Cli

14、ck()DatXN.Recordset.MoveNextCmdPREVIOUS.Enabled = True IfDatXN.Recordset.EOF ThenCmdNEXT.Enabled = FalseDatXN.Recordset.MoveLastEnd IfEnd Sub一般查询窗体代码第一位按钮前一位按钮2727一般查询窗体代码29后一位按钮30Private Sub CmdLAST_Click()DatXN.Recordset.MoveLastCmdNEXT.Enabled = FalseCmdPREVIOUS.Enabled = TrueEnd SubPrivate Sub e

15、xitM_Click()Unload Meks.Show“返回主画面”菜单End Sub29Private Sub Form_Load()DatXN.DatabaseName =Call ANCL,调用按钮处理子过程根据XZNJ窗体获得的XN值,使用条件选择打开相应的年级数据表,按照搜索字段,打开相应的索引表并进行搜索判断有否满足条件的记录,有则将其显示在窗口 中,让用户查看或修改;否则显示对话框,告知用户 找不到,让用户确定是否继续。一般查询窗体代码最后一位按钮搜索查询和修改窗体代码:Loader件31End Sub搜索査询和修改窗体代码(1):Load件32根据XZNJ窗体获得的XN值,使

16、用条件选择打开相应的年级数据表Select Case XNDatXN.RecordSource = 1年级”Cast 1DatXN.RecordSource = 2年级Case 2DatXN.RecordSource =T 年级End SelectDatXN.Refresh31搜索査询和修改窗体代码(1):Load件,按照搜索字段,打开相应的索引表并进行搜索IfXZ = 1 Or XZ = 3 ThenDatXN.Recordset.Index = ”姓名”DatXN.RecordseLSeekn=fXMElseDatXN.Recordset.Index =学号DatXN.RecordseLS

17、eek XHEnd If1大于或等于指定的键值小于或等于指定的键值II从索引开始处向后査找从索引尾部向前査找数据控件的常用方法sSfek:t/ 彳wBF |g I在打开索引的Table表中,查找符合条件的 第一条记录,并使之成为当前记录。 语句格式如下:v 数据控件名.RecordSet.Seekv 比较运算符,V 键值1,v 键值2,数据控件的常用方法Seek:等于指定的键值运算符说明査找顺序大于指定的键值小于指定的键值搜索査询和修改窗体代码:Load件36,判断有否满足条件的记录,有End If则将其显示在窗口中,让用CONT=1户査看或修改;否则显示Else对话框,告知用户找不到,让CO

18、NT = MsgBox(f,没有你用户确定是否继续。要找的学生,是否继续査找?CONT=61vbYesNo + vbQuestion +Do While CONT = 6 ivbDefaultButton29M找不到:)If DatXN.Recordset. _If CONT = 6 ThenNoMatch = False ThenCall SRDXsj2Visib!e = TrueElseVP J反DatXN.Recordset.Editks. Visible = TrueIf XZ = 3 ThenEnd If回值Caption =修改学生成绩”End If为6For i = 0 To 7

19、LoopT xtC J (i).Locked = FalseNext i35搜索查询和修改窗体代码(2):命令按纽Private Sub CmdFIRST_Click(),第一位按钮DatXN.Recordset.UpdateDatXN.Recordset.MoveFirstCmdPREVIOUS.Enabled = FalseCmdNEXT.Enabled = TrueDatXN.Recordset.EditEnd Sub38Private Sub CmdPREVIOUS ClickO前一位按钮DatXN.Recordset.UpdateCmdNEXT.Enabled = TrueDatXN

20、.Recordset.MovePreviousIf DatXN.Recordset.BOF Then判断是否已到文件CmdPREVIOUS.Enabled = False前一位按钮设置 为不可操作DatXN.Record set.MoveF irst1指针移到第一个记录End IfDatXN.Recordset.EditPrivate Sub CmdLAST_Click()DatXN.Recordset.UpdateDatXN. Recordset. MoveLastCmdNEXT.Enabled = False最后一位按钮CmdPREVIOUS.Enabled = TrueDatXN.Rec

21、ordset.EditEnd Sub3739End Sub搜索查询和修改窗体代码(2):命令按纽4039搜索査询和修改窗体代码:命令按纽Private Sub cmd()K_Click(),确定修改返冋主画面按钮DatXN.Recordset.UpdateexitM.ClickEnd SubPrivate Sub CmdCANCEL_Click()放弃修改返回主画面按钮DatXN.Recordset.CancelUpdateexitM_ClickEnd SubPrivate Sub CmdNEXT_Click()DatXN.Recordset.UpdateDatXN.Recordset.Mov

22、eNextCmdPREVIOUS. Enabled = True,下一位按钮If DatXN.Recordset.EOF Then尾判断是否已到文件CmdNEXT.Enabled = FalseDatXN.Recordset.MoveLast,下一位按钮不可操作指针移到最后一个记录End IfDatXN.Recordset.EditEnd SubCmdOK.SetFocusElseCmdCANCEL.SetFocusEnd IfEnd IfElseCmdOK.Enabled = TrueEnd IfCase Else,显示警告框MsgBox您输入了非数字 字符请重新输入!f警告”TxtCJ(Index).Text =TxtCJ(Index).SetF ocusEnd SelectEnd SubPrivate Sub PxtX H_ Key Press( Key A scii As Integer) IfKey A scii = 13 ThenTxtXM.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论