资源简介 (共29张PPT)00|作业讲解3.某同学用VB编码如下程序:Private Sub Command1_Click()Dim k As Integer, a As Integer, b As Integera = Val(Text1.Text) : b = Val(Text2.Text)Label1.Caption = trans(a, b)End SubFunction trans (m As Integer, n As Integer) As StirngIf m <> 0 Thenr = m Mod ntrans = trans(m\n , n )+Str(r)Elsetrans = 0End IfEnd Function程序运行时,在文本框Text1和Text2中分别输入11和2,则Label1中的输出结果是( )A. 01011 B.1011 C.01101 D.11010正确率:54.34%00|作业讲解4.某个进行素数判断的VB程序段如下:Private Sub Command1_Click()Dim x As Integerx= Val(Text1.Text)Label1.Caption=Str(x)+prime(x,2)End SubFunction prime(n As Integer, m As Integer) As StringIf n=m Thenprime =”是素数。”Elself n<2 0r n Mod m =0 Thenprime =”不是素数。”Elseprime = prime (n, m+l)End IFEnd Function在文本框Textl中输入的值是123,并执行程序后,自定义函数prime被执行的次数是( )A.1次 B.2次 C.122次 D.123次正确率:26.59%00|作业讲解5.有如下VB程序段 :Private Sub Command1_Click()Dim i As Integer, s As Integers=0For i = 1 To 3 step 2s = s + f(i)Next iText1.Text = Str(s)End SubFunction f(n As Integer) As IntegerIf n = 1 Then f = 2 Else f = f(n - 1) + nEnd Function执行该程序段后,s的值为( )A.2 B.7 C.9 D.13正确率:20.29%00|作业讲解6.猴子摘桃:一群猴子摘了n个桃子,第2天吃了一半后又多吃了一个;以后每天吃剩余的桃子的一半后又再多吃一个;直到第10天,只余下最后一个桃子。请问它们第1天摘了多少个桃子?Private Sub Command1_Click()Dim n As IntegerLabel1.Caption = "一共摘了:" + (1)End SubPrivate Function zt(n As Integer) As IntegerIf n = 10 Thenzt = 1 '第10天的桃子为1个Elsezt = (2)End IfEnd FunctionApplication of algorithm in data management1201|问题引入VB从Access数据文件中读取数据要经历哪些步骤?02|VB连接数据库的基本步骤VB连接数据库的基本步骤①打开(连接)数据库②打开数据库中的记录集(数据表)③读取记录集中对应字段对应记录的数据④利用VB中的数组变量存储这些数据⑤对存储好的数组元素进行查找、排序lggz.accdb03|前期准备关于ADOADO是微软公司提供的一种应用程序访问数据库的编程接口。通过ADO的相关对象,可建立VB与ACCESS的数据连接。VB使用ADO时要添加ADO的引用,具体方法:工程-引用-勾选“Microsoft ActiveX Data Objects 6.0 Library”04|打开(连接)数据库打开(连接)数据库步骤:①定义连接数据库的对象②确定连接的数据库位置和名称③打开(关闭)到数据库的连接①定义连接数据库的对象例:Dim conn As New ADODB.Connection连接实例的名称释义:定义了一个新的ADO数据库连接,该实例的名称为conn04|打开(连接)数据库打开(连接)数据库步骤:①定义连接数据库的对象②确定连接的数据库位置和名称③打开(关闭)到数据库的连接②确定连接的数据库位置和名称conn.ConnectionString ="Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ App.Path + "\lggz.accdb"释义:将数据库连接实例conn的ConnectionString(连接字符串)设置为数据库文件对应的地址。其中APP.Path返回当前VB程序所在的绝对路径。lggz.accdb04|打开(连接)数据库打开(连接)数据库步骤:①定义连接数据库的对象②确定连接的数据库位置和名称③打开(关闭)到数据库的连接③打开(关闭)到数据库的连接conn.Openconn.Close释义:数据库连接实例conn调用Open(打开)或Close(关闭)04|打开(连接)数据库打开(连接)数据库补充:连接对象实例的State属性连接对象实例conn的State属性用来反映其是否连接成功If conn.State = adStateOpen ThenLabel2.Caption = "数据库连接打开成功"ElseLabel2.Caption = "数据库连接打开失败"End IfadStateOpen:表示对象已经打开adStateClosed:表示对象已经关闭04|打开(连接)数据库打开(关闭)数据库Dim conn As New ADODB.Connectionconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\lggz.accdb“conn.OpenIf conn.State = adStateOpen ThenLabel2.Caption = "数据库连接打开成功"ElseLabel2.Caption = "数据库连接打开失败"End Ifconn.CloseIf conn.State = adStateClosed ThenLabel2.Caption = "数据库连接关闭成功"ElseLabel2.Caption = "数据库连接关闭失败"End If05|打开数据库中的记录集(数据表)打开数据库中的记录集(数据表)步骤:①定义一个数据集②设置记录集的连接属性③打开(关闭)记录集①定义一个数据集例: Dim rs As New ADODB.Recordset数据集实例的名称释义:定义了一个新的ADO数据库数据集,该实例的名称为rs05|打开数据库中的记录集(数据表)打开数据库中的记录集(数据表)步骤:①定义一个数据集②设置记录集的连接属性③打开(关闭)记录集②设置记录集的连接属性例: Set rs.ActiveConnection = conn释义:设置记录集rs的连接属性,使该记录集连接到连接对象conn上,以便从对应的数据库中读取数据。05|打开数据库中的记录集(数据表)打开数据库中的记录集(数据表)步骤:①定义一个数据集②设置记录集的连接属性③打开(关闭)记录集③打开(关闭)记录集rs.Open "SELECT*FROM qmcj "释义:打开记录集并读取qmcj表中的所有内容rs.Close释义:关闭记录集补充:连接对象实例的State属性记录集对象实例rs的State属性用来反映其是否打开(关闭)成功If rs.State = adStateOpen ThenLabel2.Caption = “记录集打开成功"ElseLabel2.Caption = “记录集打开失败"End IfadStateOpen:表示对象已经打开adStateClosed:表示对象已经关闭05|打开数据库中的记录集(数据表)打开数据库中的记录集(数据表)05|打开数据库中的记录集(数据表)打开数据库中的记录集(数据表)Dim rs As New ADODB.RecordsetSet rs.ActiveConnection = connrs.Open "SELECT*FROM student"If rs.State = adStateOpen ThenLabel2.Caption = "打开数据集成功"ElseLabel2.Caption = "打开数据集失败"End Ifrs.CloseIf rs.State = adStateClosed ThenLabel2.Caption = "关闭数据集成功"ElseLabel2.Caption = "关闭数据集失败"End If05|打开数据库中的记录集(数据表)RecordSet对象的基本属性和方法方法或属性 含义 格式Open方法 打开记录集对象 rs.open [sql字符串],[connection对象]Close方法 关闭打开的记录集对象 rs.closeMoveNext方法 移到下一条记录 rs. MoveNextMovePrevious方法 移到上一条记录 rs. MovePreviousMoveFirst方法 移到第一条记录 rs. MoveFirstMoveLast方法 移到最后一条记录 rs. MoveLastFields集合 记录集对象的字段集合 rs. Fields("字段名")或rs. Fields(字段索引)注意:索引从0开始EOF(end of file)属性 判断是否到记录集结尾 rs.EOFBOF(begin of file)属性 判断是否到记录集开始 rs.BOF06|读取记录集中对应字段对应记录的数据读取记录集中的数据ID 姓名 班级 考号1 叶方豪 12 1803091004962 金素素 14 1803091005223 欧阳子丹 12 180309100578当前记录0123①返回当前记录中的数据Fields:用于返回当前记录中的数据1、rs.Fields(3)----------------------字段序号2、rs.Fields(“考号”)--------------字段名称06|读取记录集中对应字段对应记录的数据读取记录集中的数据ID 姓名 班级 考号1 叶方豪 12 1803091004962 金素素 14 1803091005223 欧阳子丹 12 1803091005782②记录指针的移动MoveNext:记录向下一条移动EOF:End of File 可利用其判断是否已经移动到记录集的结尾13EOF06|读取记录集中对应字段对应记录的数据读取记录集中的数据,并存放于数组中Dim id(1 To 1000) As IntegerDim xm(1 To 1000) As StringDim bj(1 To 1000) As StringDim kh(1 To 1000) As String…………………………………… ‘定义多个数组分别存放各科成绩Dim n As Integer, i As Integern = 0Do While Not rs.EOF ‘如果没有到达记录集的末尾,就执行下面的循环语句n = n + 1 ‘利用n的值来控制数组元素的存放id(n) = rs.Fields(0)xm(n) = rs.Fields(1) ‘将相应的字段内容分别存放到不同的数组中bj(n) = rs.Fields(2)kh(n) = rs.Fields(3)…………………… ’将其他数据同理放到不同的数组中rs.MoveNext ‘记录指针下移Loop07|对存储好的数组元素进行查找、排序对存储好的数组元素进行查找、排序i = 1:m = 0Do While i <= nIf Text1.Text = xm(i) Thenm = iExit DoElsei = i + 1End IfLoopIf m <> 0 ThenText2.Text = bj(m)Text3.Text = kh(m)ElseText2.Text = "查无此人"Text3.Text = "查无此人"End If利用查找算法,在xm数组中查找姓名符合输入值的数组元素,并利用m记录该元素的数组下标。输入数组下标m所对应的bj数组以及kh数组中的班级和考号信息。08|小结——VB读取数据表中记录到数组的典型程序段Dim conn As New ADODB.Connection ‘定义一个Connection的对象实例Dim rs As New ADODB.Recordset ‘定义一个Recordset的对象实例Dim sql As Stringconn.ConnectionString = "provider=microsoft.ace.oledb.12.0;data source=" + App.Path + "\数据库文件名"conn.Opensql = "select * from 数据表文件名"rs.Open sql, conn, adOpenDynamic, adLockOptimistic‘以下程序段需重点关注c = 0Do While Not rs.EOF ‘数据表未读完c = c + 1数组名1(c) = rs.Fields("字段名1") ‘或写成数组名1(c) = rs.Fields(0)数组名2(c) = rs.Fields("字段名2") ‘或写成数组名2(c) = rs.Fields(1)......rs.MoveNextLooprs.Close ‘关闭Recordset的连接conn.Close ‘关闭Connection的连接 09|课堂练习1.通过ADO的Connection对象建立与Access数据库连接的基本过程有以下几个步骤:①设置实例的连接字符串ConnectionString的属性值。②通过实例的Open方法打开到数据库的连接。③定义ADO的Connection对象实例。正确的操作顺序是( )A. ①②③ B.①③② C.②①③ D.③①②08|课堂练习2.通过ADO的Connection对象建立与Access数据库连接,有以下程序段:Dim abc As New ADODB.Connectionabc.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“+ App.Path + "\ Schools.accdb"abc.Open则定义的ADO的Connection对象实例名称为( )A.Connection B.ADODB C. abc D. Schools.accdb08|课堂练习3.通过ADO的Connection对象建立与Access数据库连接,有以下程序段:Dim conn As New ADODB.Connectionconn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.O;Data Source=" + App.Path + "\Students.accdb"conn.Open则连接的数据库文件名称为( )08|课堂练习4.通过ADO的Recordset对象实例rs打开了如表所示的记录集。当前记录是第2条,rs.Fields(1)返回的数据是 ( )A.2 B.G144720 C.高中英语重点难点解析 D.G234724 展开更多...... 收起↑ 资源预览