list1.additem j 意思就是把j添加至list1列表中,這是在一個(gè)for 循環(huán)中,循環(huán)了10次,添加了10次 j,即 list1 中 有10列分別為:1,3,6,10,15,21,28,36,45,55
創(chuàng)新互聯(lián)是一家專業(yè)提供海門企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為海門眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。
下面又來了一個(gè)循環(huán), list1.removeitem 刪除列,刪除的是 list1.listcount - i ,list1.listcount 就是總列數(shù)為10,減去 i ,i 是1到4,即10-1,9-2,8-3,7-4 每減掉一次,list1.listcount 就少了一條記錄。
(注意,list1.listcount-1 是最后一條記錄)
減掉了第 9,7,5,3列
剩余為 1,3,6,15,28,45
結(jié)果為:3,15,28
'ListCount返回列表框中的項(xiàng)目總數(shù)
'ListCount-1是列表框中最后一個(gè)項(xiàng)目的索引號(hào)
'虧你提醒了,我寫錯(cuò)了,上面修改了,第一個(gè)索引為0,最后一個(gè)為9.
'也就是,問題所問的第二列的索引為1,第四列的索引為3...
不知道你數(shù)據(jù)表中那一列數(shù)據(jù)是什么類型的數(shù)據(jù),所以我全部按字串來處理。
首先聲明一個(gè)數(shù)組,和即將用來計(jì)數(shù)的數(shù)字:
dim?nums()?as?string
Dim?i?As?Integer?=?0
mycon.open?'然后,連接數(shù)據(jù)庫,按你的聲明來:
dim?mycom?as?new?sqlcommand("select?*?from?你要讀取數(shù)據(jù)的表",?mycon)'接下來,聲明一個(gè)執(zhí)行數(shù)據(jù)庫語句命令的com:
'然后,對(duì)數(shù)據(jù)庫返回的結(jié)果進(jìn)行操作(一般會(huì)將執(zhí)行結(jié)果存放起來,再操作,我這里省去了存放這步):
With?mycom.ExecuteReader()?'對(duì)返回的結(jié)果,即查詢到的表進(jìn)行操作?
If?.HasRows?Then????'判斷是否有數(shù)據(jù),有數(shù)據(jù)就進(jìn)入下面進(jìn)行讀取
Do?While?.Read???'讀取一行數(shù)據(jù)
If?Not?(String.IsNullOrEmpty(.GetString(0)))?Then??'檢查表列的數(shù)據(jù)是否為空,不為空就進(jìn)入下面,進(jìn)行保存。這里要說下getstring這個(gè),是讀取某列數(shù)據(jù)中的字串,如果該列數(shù)據(jù)不是字串,那么需要用getvalue(0),0代表該列在表中的位置,從0開始,即0表示第一列。
ReDim?Preserve?nums(i)???'重置數(shù)組大小,即為即將要保存的數(shù)據(jù)準(zhǔn)備一個(gè)位置?
nums(i)?=?.GetString(0)??'將數(shù)據(jù)放入到數(shù)組中?
i?=?i?+?1??'循環(huán),直到結(jié)束????????????????????
End?If????????????????
Loop????????????
End?If????????
End?With
mycon.close?'最后記得要關(guān)閉數(shù)據(jù)庫連接
數(shù)據(jù)存入數(shù)組很簡單,其實(shí)難點(diǎn)是連接數(shù)據(jù)庫,從數(shù)據(jù)庫拿數(shù)據(jù),這難點(diǎn)原理簡單,但因?yàn)楦袷剑瑪?shù)據(jù)類型等問題,很容易出錯(cuò)。
以上,數(shù)據(jù)到了數(shù)組,你應(yīng)該會(huì)操作了吧。其實(shí)建議直接對(duì)從數(shù)據(jù)庫返回的結(jié)果進(jìn)行操作,不需要用數(shù)組的。
list1.additem j 意思就是把j添加至list1列表中,這是在一個(gè)for 循環(huán)中,循環(huán)了10次,添加了10次 j,即 list1 中 有10列分別為:1,3,6,10,15,21,28,36,45,55
下面又來了一個(gè)循環(huán), list1.removeitem 刪除列,刪除的是 list1.listcount - i ,list1.listcount 就是總列數(shù)為10,減去 i ,i 是1到4,即10-1,9-2,8-3,7-4 每減掉一次,list1.listcount 就少了一條記錄。
(注意,list1.listcount-1 是最后一條記錄)
減掉了第 9,7,5,3列
剩余為 1,3,6,15,28,45
結(jié)果為:3,15,28
'ListCount返回列表框中的項(xiàng)目總數(shù)
'ListCount-1是列表框中最后一個(gè)項(xiàng)目的索引號(hào)
'虧你提醒了,我寫錯(cuò)了,上面修改了,第一個(gè)索引為0,最后一個(gè)為9.
'也就是,問題所問的第二列的索引為1,第四列的索引為3...
DataView類的實(shí)例本身就可以當(dāng)數(shù)組使用:
//DataView DV;
DataRowView DRV=DV[行號(hào)];
如果要導(dǎo)出某列數(shù)據(jù)可這樣做:
//DataView DV;int I;
object[] OS = new object[DV.Count];
for (I = 0; I OS.Length; I++)
{
OS[I] = DV[I][列號(hào)或列名稱];
}
vb.net例子:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim DV As DataView : Dim I As Int16
DV = New DataView(New DataTable("新表"))
DV.Table.Columns.Add("列1")
DV.AddNew() : DV.AddNew() : DV.AddNew() : DV.AddNew()
DV.Item(0)(0) = "a"
DV.Item(1)(0) = 56
DV.Item(2)(0) = 8.56
DV.Item(3)(0) = "fdg"
Dim OS(DV.Count - 1) As Object
For I = 0 To OS.Length - 1
'OS(I) = DV(I)(列號(hào)或列名稱)
OS(I) = DV(I)(0)
Next I
End Sub
End Class
代碼及注釋如下:
Dim aa$, s, ss'定義變量
Private Sub Form_Load()
Open "c:\temp.txt" For Input As #1'打開txt文件
aa = StrConv(InputB(LOF(1), 1), vbUnicode)'將文本讀入aa中
Close #1'關(guān)閉文件
End Sub
Private Sub Command1_Click()
s = Split(aa, vbNewLine)'將文本分離出來并放入數(shù)組s中
For i = 0 To UBound(s)'i從0到S的最大元素?cái)?shù)循環(huán)
If s(i) "" Then'如果數(shù)組部位空
ss = Split(s(i), "=")'擇將數(shù)組按照=分離,并放入數(shù)組ss
Print Val(ss(1))‘顯示數(shù)值化的數(shù)組ss第一個(gè)元素
End If
Next i
End Sub
本文標(biāo)題:vb.net添加到數(shù)組,vb控件數(shù)組怎么創(chuàng)建
文章鏈接:http://m.kartarina.com/article26/hdopcg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、App設(shè)計(jì)、面包屑導(dǎo)航、微信小程序、服務(wù)器托管、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)