17.【加試題】小張為了處理2015年中國主要城市的GDP數(shù)據(jù),他把2015年中國主要城市的GDP據(jù)存儲在數(shù)據(jù)庫文件gdp.accdb中.他設(shè)計了一個Visual Basic程序,程序運行效果如第17題圖所示.在界面的左側(cè)列表框List1中顯示按各城市GDP數(shù)值,單擊“按人均GDP排序”按鈕(Command1),在右側(cè)列表框List2中顯示排序完成后的結(jié)果
(按人均GDP值從高到低排序).
實現(xiàn)上述功能的VB代碼如下:
(1)請在空格處填入合適代碼.
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim n As Integer,i As Integer,j As Integer
Dim t As Long,ts As String
Dim a(1To 200)As Integer
Dim c(1To 200)As String
Dim g(1To 200)As Long
Dim p(1To 200)As Long
Private Sub Form_Load ( ?。?br />conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source=“_
& App.Path &“\gdp.accdb“
'上面語句中的“_“為語句換行符,表示下一行內(nèi)容為本行的繼續(xù) conn.Open
Set rs.ActiveConnection=conn rs.Open“SELECT*FROM dGDP“
n=0'Ⅰ處代碼
Do While Not rs.EOF n=n+1 a
(n)=rs.Fields(“GDP排名“).Value c(n)=rs.Fields(“城市“).Value
g(n)=rs.Fields(“GDP“).Value p(n)=rs.Fields(“人均GDP“).Value
List1.AddItem Str(a(n))+““+c(n)+““+_
Str(g(n))+““+Str(p(n))
'上面語句中的“_“為語句換行符,表示下一行內(nèi)容為本行的繼續(xù)
rs.MoveNext Loop rs.Close conn.Close
Set rs=Nothing
Set conn=Nothing
End Sub
Private Sub Command1_Click ( ?。?br />For i=1To n-1
For j=①
To n
If p(i)<p(j) Then
a(i)=a(i)+a(j)
a(j)=a(i)-a(j)
②
P
ts=c(i)
c(i)=c(j)
c(j)=ts
t=g(i)
g(i)=g(j)
g(j)=t
t=p(i)
p(i)=p(j)
p(j)=t
End If
Next j
Next i
List2.Clear
For i=1To n
List2.AddItem Str(a(i))+““+c(i)+““+_
Str(g(i))+““+Str(p(i))
'上面語句中的“_“為語句換行符,表示下一行內(nèi)容為本行的繼續(xù)
Next i
End Sub
(2)若Ⅰ處代碼n=0改為 n=1程序運行結(jié)果將不正確,其原因是
.