VB讀取資料庫多條資料賦值給陣列

時間 2022-03-12 01:30:31

1樓:匿名使用者

dim pubconn as new adodb.connection

dim strconn as string

with pubconn

if .state = adstateclosed then

strconn = "provider=sqloledb;user id=sa; password=sa;data source=192.168.0.

120\sqlserver;initial catalog=fact"

.cursorlocation = aduseclient '設定游標

.open strconn

end if

end with

strsql = "select * from workshop"

set cmd = new adodb.command

with cmd

.activeconnection = pubconn

.commandtext = strsql

.commandtype = adcmdtext

set rstable = .execute

end with

while rstable.eof = false

set work = new workshop

work.workid = rstable!work_id

work.workname = rstable!work_name

work.workhead = rstable!work_head

work.workprohead = rstable!work_prohead

work.worknumber = rstable!work_number

'向集合works中新增workshop物件

works.add work.workid, work.workname

rstable.movenext

wend

2樓:匿名使用者

我有現成的,這裡不讓貼,一複製貼上就不顯示

留個qq聯絡

vb視窗中如果有多個文字框,怎樣用陣列分別為他們賦值?

3樓:網海1書生

你這多個文字框最好弄成控制項陣列,並且與要賦值的陣列一一對應,這樣就方便得多,比如(假定文字框陣列名為text1,陣列為a()):

for i = 0 to ubound(a)text1(i).text = a(i)

next

如果文字框不是控制項陣列則比較麻煩,你要乙個乙個進行賦值。如果文字框的名字是有規律的,比如text1、text2、text3……而且數字是連續的,則可以這樣(這是一種非常規的用法):

for i = 0 to ubound(a)controls("text" & i + 1).text = a(i)

next

強烈建議盡量使用控制項陣列,不但執行速度較快,而且可以節省系統資源消耗

乙個關於在vb中將recordset 讀出的內容放到乙個陣列變數中的問題!!

4樓:網海1書生

dim oc as object, rs as object, a()

set oc = createobject("adodb.connection")

oc.open "provider=microsoft.jet.oledb.4.0; data source=e:\tmp\db2.mdb"

set rs = createobject("adodb.recordset")

rs.open "select * from tek", oc, 1, 1

a = rs.getrows

msgbox "記錄集rs已被讀入陣列a中" & vbcrlf & "共" & ubound(a, 1) + 1 & "列 " & ubound(a, 2) + 1 & "行"

rs.close

set rs = nothing

oc.close

set oc = nothing

以上**我測試過是可行的。有幾點要注意:

1、陣列a的型別一定要是variant型(不定型別),而不能指定具體的型別,如string、integer等;

2、是getrows,不是getrow;

3、陣列a賦值後會是個二維陣列,其第一維是列數(就是資料表中的字段數),第二維是行數(也就是資料表中的記錄數)。

5樓:匿名使用者

1、首先檢測資料表的字段數,儲存在變數中,例如x變數。

x = rs.fields.count

2、宣告動態變數陣列a():

redim a(1 to x)

3、賦值:

for i = 0 to x

a(i + 1) = rs.fields(i)next i

6樓:匿名使用者

a = rs.getrows(1)

vb從文字檔案讀取資料並賦給賦值給變數及二維陣列

7樓:匿名使用者

你這個問題請參考上面幾個知道,從檔案中讀取的方法與上面的都是一樣的,就是一次讀取一行,再將這一行的內容以逗號分界分開到乙個中間陣列中,再判斷是第幾行,第一行賦值給n, ta, xa, ya,判斷出讀到的是第二行就賦值給xb, yb, tb,讀出的是大於等於三行的資料均賦值給陣列b(v), s(v)即可。當然,你這個在賦值前最好先判斷一次這個txt檔案總共有多少行,以便決定陣列b(v), s(v)中的v的維數。

好好看看給你的參考資料,研究研究吧,你這個是非常簡單的哦。

8樓:匿名使用者

答案已經有啦(有兩個回答的蠻辛苦了),不過:看見這個樓主好像得了答案就逃之夭夭啦

鄙視這樣的提問者。

我有更好的答案,也不會給這樣的小人回答的,拜拜啦。。。。。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

9樓:琉璃藍瀨

說實話看得不是很懂

應該使用instr函式吧

不過挺麻煩的

vb中如何把access資料庫的內容賦值給二維陣列

10樓:馮益斌

說說思路:

這個顯然要用ado

1、連線資料庫,得到連線物件conn

2、用下面的select語句開啟表,將資料讀入recordsetset rs=conn.execute("select * from 表名")

3、用迴圈將資料讀入二維陣列arr

row=0

while not rs.eof

arr[row,0]=rs["id"]

arr[row,1]=rs["year"]arr[row,2]=rs["mon"]

arr[row,3]=rs["1"]

arr[row,4]=rs["2"]

......

...row=row+1

wend

11樓:匿名使用者

vb6.0可用ado data 控制項訪問和運算元據庫,讀取資料表的資料,通過巢狀迴圈將資料表內容賦值給乙個二維陣列。

ado data 控制項,這是一種新的、oledb 識別的資料來源控制項,其功能與內部的 data 控制項和 remote data 控制項十分相似,通過這種方式允許使用者用最少的**來建立資料庫應用程式。在執行時,可以設定控制項的recordsource 屬性來實現sql結構化查詢語句滿足需要的查詢條件。

結構化查詢語言(structured query language)簡稱sql,是一種特殊目的的程式語言,是一種資料庫查詢和程式語言,用於訪問資料以及查詢、更新和管理關係資料庫系統

for...next 語句,以指定次數來重複執行一組語句。

可以將乙個 for...next 迴圈放置在另乙個 for...next

迴圈中,組成巢狀迴圈。

以下是具體**例項:

option explicit

dim zh_bm(11, 1500)

dim zsl as integer

dim i as integer

dim j as integer

dim sqlstr as string

private sub form_load()

adodc1.connectionstring = "provider=microsoft.jet.

oledb.4.0;data source=d:

\data_ref\db1.mdb;persist security info=false"

sqistr = "select * from mdlk_sj where 銷售='n' order by 碼單號"

adodc1.recordsource = sqlstr

adodc1.refresh

zsl = adodc1.recordset.recordcount '獲取查詢得到的資料記錄總數

adodc1.recordset.movefirst '移動記錄到首條記錄

for i = 0 to zsl - 1

for j = 0 to 11

zh_bm(j, i) = adodc1.recordset(j) '將各字段值賦值給二維陣列

next j

adodc1.recordset.movenext

next i

end sub

vb中怎樣把sql語句的查詢結果賦值給乙個變數

12樓:匿名使用者

set rs=conn.execute("select * from 表名 where 1=1")

dim str1=rs("字段")

這兒的str1就是變數,已經把資料庫的乙個字段賦值給它了

13樓:匿名使用者

查詢結果如果只有乙個值,可以用

val=conn.execute("select fileld from 表名 where id=1")(0)

如果有多個值,要用getrowss(),如sql="select * from 表名"

set rs=conn.execute(sql)arra = rs.getrows()

這樣得到的是乙個陣列。

14樓:匿名使用者

我不知道你的語句為什麼會產生重複的結果,最好檢查一下你的**。關於將語句輸出賦值到變數的問題請你參照一下我測試的這份**

get_msisdn()

get_msisdn

它首先設定輸出的格式如set feedback off; set pagesize 0;,然後將語句的輸出指定到檔案result.log,最後使用cat命令將結果顯示並賦值給變數result。

vb 讀取txt內容,並賦值給陣列?

vb中如何把access資料庫的內容賦值給二維陣列

馮益斌 說說思路 這個顯然要用ado 1 連線資料庫,得到連線物件conn 2 用下面的select語句開啟表,將資料讀入recordsetset rs conn.execute select from 表名 3 用迴圈將資料讀入二維陣列arr row 0 while not rs.eof arr ...

mysql資料庫,連線數,一秒寫入多少條資料

mysql資料庫單錶插入速度每秒最高100000 rows沒問題,在標準配置下。mysql的讀寫速度跟硬碟的速度,網絡卡的速度,寫入行的資料量,資料在硬碟中的存放位置等等因素都有關係的。要統計這個最好的是進行測試,然後得出乙個平均值。沒有人能夠光通過配置得出這些資料的。第一次壓測配置 虛擬機器 資料...

select標籤讀取資料庫中的資料

我不知道你的分類的儲存方式是怎麼樣的 我可以給你說一下思路 比較簡單的就是。你儲存文章的時候肯定會有個字段儲存的是文章的分類 可能是分類的id或者直接就是分類的名稱 你用select顯示的時候 第乙個option 就是呼叫當前文章的分類字段,下面的顯示你想選擇的就可以 這個方式很簡單 希望可以幫到你...