datatable的小知識點

2021-10-01 23:58:09 字數 1452 閱讀 5071

甲方爸爸要求使用rdlc做報表,報表內容需要從資料庫中的多張表拼接得出,因無法使用sql語句直接匯出結果**,故需要將多張datatable拼接得到相同的**,即結果**式為多個**式相加

新建結果表:

dim dt as datatalbe

dim dr as datarow

dt.columns.

add(

"columnname"

)dt.

columns

("columnname"

).datatype =system.type.

gettype

("system.double")……

dt.rows.

add(dr)

以上是在vb.net環境下使用vb語言構建的表結構,也可以通過sql語句構建:

select

'' col1,

0 col2,

0.00 col3 from database1.dbo.table1 where

1<>

1

ps:使用1<>1可以呼叫資料表的表結構,1=1可以避免在sql語句撰寫過程中避免where子句後無查詢條件的尷尬局面

for i as integer = 0 to dt1.rows.count-1

for n as integer = 0 to dt2.rows.count-1

if dt1.rows(i)("col1")=dt2.rows(n)("col1") then

……end if

next

next

1.merge方法

詳可見:

2.使用datatable本身的方法相當與在外層是一層迴圈體,在內層通過select生成datarow,然後通過row.indexof 獲取符合條件的行所在的行數,然後可以快速獲得需要的資料。這樣的話,相應時間不到一秒,在速度上大大提公升

for d2 as integer =

0 to dtset.rows.count -

1 dim tempdr

() as datarow = dttype.

select

("篩選條件"

) dim d as integer = dttype.rows.

indexof

(tempdr(0

))……

next

dim dtcashshow as datatable = cashtuidt.defaultview.

totable

(false,

)

這種方法適用於外層資料行較少而內層資料行較多的情況,其他方法還在繼續學習……

奮鬥的娃子乙隻……………………

DataTable表的常用知識點

datatable表示記憶體中的乙個資料表,而非資料庫中的表。在持久化到資料庫之前,datatable的任何變化是不會影響資料庫的。1.建立datatable物件有以下幾種方式 1 通過建構函式建立 a.無參建構函式 datatable table1 new datatable b.有參建構函式 d...

Hibernate 小知識點

今天比較忙沒怎麼寫 知識一些曉得知識或是經驗吧!1.lazy延遲載入 也可以說是需要的時候再區載入 場景 乙個類如person和address,person可以通過getaddress 來得到address的set集合.有乙個dao控制類operation.方法public person query...

dom 小知識點

1 classname屬性可設定或返回元素的 class 屬性。function getclass document.getelementbyid d1 classname bbb alert document.getelementbyid d1 classname 2 removechild 刪除...