不知道你數(shù)據(jù)表中那一列數(shù)據(jù)是什么類型的數(shù)據(jù),所以我全部按字串來處理。
南譙網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
首先聲明一個數(shù)組,和即將用來計數(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)'接下來,聲明一個執(zhí)行數(shù)據(jù)庫語句命令的com:
'然后,對數(shù)據(jù)庫返回的結(jié)果進(jìn)行操作(一般會將執(zhí)行結(jié)果存放起來,再操作,我這里省去了存放這步):
With?mycom.ExecuteReader()?'對返回的結(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這個,是讀取某列數(shù)據(jù)中的字串,如果該列數(shù)據(jù)不是字串,那么需要用getvalue(0),0代表該列在表中的位置,從0開始,即0表示第一列。
ReDim?Preserve?nums(i)???'重置數(shù)組大小,即為即將要保存的數(shù)據(jù)準(zhǔn)備一個位置?
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ù)據(jù)庫,從數(shù)據(jù)庫拿數(shù)據(jù),這難點原理簡單,但因為格式,數(shù)據(jù)類型等問題,很容易出錯。
以上,數(shù)據(jù)到了數(shù)組,你應(yīng)該會操作了吧。其實建議直接對從數(shù)據(jù)庫返回的結(jié)果進(jìn)行操作,不需要用數(shù)組的。
代碼及注釋如下:
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的最大元素數(shù)循環(huán)
If s(i) "" Then'如果數(shù)組部位空
ss = Split(s(i), "=")'擇將數(shù)組按照=分離,并放入數(shù)組ss
Print Val(ss(1))‘顯示數(shù)值化的數(shù)組ss第一個元素
End If
Next i
End Sub
因為Excel表的左上角的單元格都是以第一行第一列
MsgBox(LBound(arr, 1)) '一維最小下標(biāo)
MsgBox(LBound(arr, 2)) '二維最小下標(biāo)
測試:用上面函數(shù)(LBound)得到的結(jié)果都是1
VB.NET編程讀取txt文本文檔中的數(shù)據(jù),并把數(shù)據(jù)保存為數(shù)組,代碼如下:
'寫配件文件
Private?Sub?saveIni(ByVal?filePath?As?String,?ByVal?str?As?String)
Dim?sw?As?StreamWriter?=?New?StreamWriter(filePath,?True)?'true是指以追加的方式打開指定文件
sw.WriteLine(str)
sw.Flush()
sw.Close()
sw?=?Nothing
End?Sub
'讀配件文件
Private?Function?readIni(ByVal?filePath?As?String)
Dim?iniDt?As?New?DataTable
iniDt.Columns.Add("text")
iniDt.Columns.Add("value")
Try
Dim?sr?As?StreamReader?=?New?StreamReader(filePath,?System.Text.Encoding.Default)
Dim?line?As?String?=?""
While?Not?sr.EndOfStream
Dim?str?=?sr.ReadLine()'讀取當(dāng)前行
iniDt.Rows.Add(New?String()?{
str(0),
str(1)
})
End?While
sr.Close()
sr?=?Nothing
Catch?ex?As?Exception
End?Try
Return?iniDt
End?Function