
课件17张PPT。VB实现对数据库记录排序思考与讨论:用电情况数据库electricity中存放有某地区所有用户每年度用电情况的相关数据,如何通过VB程序实现对数据库记录排序?获取数据库相关数据数据排序Dim conn As New ADODB.Connection '定义Connection对象实例conn Dim rs As New ADODB.Recordset '定义Recordset对象实例rs Dim a(1 To 100) As String '数组a用来保存每个户号 Dim b(1 To 100) As Integer '数组b用于保存每个户号对应的年度用电量 Dim n As Integer '变量n记录用户个数 Private Sub Command1_Click() conn.ConnectionString = "Provider=microsoft.ace.oledb.12.0;" & "Data Source=" & App.Path & "Electricity.accdb" '设置conn的数据库连接字符串 conn.Open '打开数据库连接 rs.ActiveConnection = conn '设置rs的ActiveConnection属性,关联conn rs.Open "select * from electricity" '打开记录集,获取数据 n = 0 Do While Not rs.EOF n = n + 1 a(n) = rs.Fields("户号") b(n) = rs.Fields("年度用电量") List1.AddItem a(n) + " " + Str(b(n)) rs.MoveNext Loop rs.Close conn.Close End Sub复习:数据库数据获取冒泡排序所谓冒泡排序,形象的说,就是在将一组数据从小到大的顺序排列时,小的数据视为质量较轻,大的数据视为质量较重,小的数据好比水中的气泡,往上方移动,较大的数据好比是石头,往下沉,最重的会沉到底,最轻的会浮到顶,反复进行比较,直到数据列排成有序列。请将下列数据按从大到小的顺序,利用冒泡法排序{30,38,65,97,76,13,27,49}1排序号:实例分析2排序现将8号数据49和7号数据27比较,因为49>27所以,49和27的位置互换,变为:i=1:第一次排序j=8:第一步:8号、7号排序49271376976538304927137697653830t49t=d(8) : d(8)=d(7) : d(7)=tj=7:第二步:7号6号排序4927137697653830现将7号数据49和6号数据13比较,因为49>13所以,49和13的位置互换,变为:4927137697653830t49t=d(7) : d(7)=d(6) : d(6)=tj=6:第三步:比较6、5号数据j=5:第四步比较5、4号数据方法同第三步,因为76<97所以数据顺序不变1327497697653830现将6号数据49和5号数据76比较,因为49<76所以,49和76的位置不互换。1327497697653830j=4 :第五步:比较4、3号数据1327497697653830现将4号数据97和3号数据65比较,因为97>65所以,97和65的位置互换。1327497697653830t 97t=d(4) : d(4)=d(3) : d(3)=tj=3:第六步:比较3、2号数据:1327497665973830现将3号数据97和2号数据38比较,因为97>38所以,97和38的位置互换。1327497665973830t 97t=d(3) : d(3)=d(2) : d(2)=tj=2 第七步:比较2、1号数据1327497665389730现将2号数据97和1号数据30比较,因为97>30所以,97和30的位置互换。1327497665389730t97t=d(2) : d(2)=d(1) : d(1)=t这样就完成了第一次排序,它的基本特征是将最大数排到了最左边,然后再从第8个开始,进行第二次排序,将第二大的数据排到了第二位,反复下去,就可以完成排序。一共要进行7次才能完成。1327497665383097经过第二次排序,数据顺序应该是什么样的?2713496538307697经过第三次呢?2713493830657697算法分析第1次冒泡排序时(i=1) j 从 8 开始到2For j=8 to 2 step -1 if d(j)>d(j-1) then 交换d(j) 和d(j-1)的值第2次冒泡排序时(i=2) j 从 8 开始到3For j=8 to 3 step -1 if d(j) >d(j-1) then 交换d(j) 和d(j-1)的值第3次冒泡排序时(i=3) j 从8 开始到4For j=8 to 4 step -1 if d(j) >d(j-1) then 交换d(j) 和d(j-1)的值当i 从1到7 变化时 每次 j 从8 到i+1 时 d(j)>d(j-1)时,则交换它们第4次冒泡排序时(i=4) j 从 8 开始到5For j=8 to 5 step -1 if d(j) >d(j-1) then 交换d(j) 和d(j-1)的 ... ...
~~ 您好,已阅读到文档的结尾了 ~~