2014-07-22 134 views
1

我有一個包含2個按鈕的應用程序。僅運行查詢一次

按鈕1給出了這個查詢結果:

select * from tbl1; 

按鈕2給出了這個查詢結果:

select * from tbl1; 
select * from tbl2; 

所以發生了什麼是我要運行select * from tbl1兩次,一次用於按鈕1,再按一次按鈕2.

單擊按鈕1時是否可以運行兩個查詢,但只顯示的結果10,然後在單擊按鈕2時顯示tbl2的結果?

回答

2

是的,緩存結果。將它存入一個變量(集合就像列表),然後用它來顯示結果而不是重新評估的查詢。

+0

將它存儲到一個局部變量? –

+0

它應該存儲在一個數據表中 –

+0

是的,我的意思是一個類級別的變量。它也是本地的,在C#中沒有全局的東西# –

1

將它存儲在一個List<T>來實現你需要的東西

+3

沒有人值得數據表 –

+0

@MarcGravell:我沒有得到你,請問你可以向我解釋 –

+3

'DataTable'是.NET 1.0(IIRC)中引入的一種過渡API,可幫助用戶使用ADO記錄集遷移COM代碼。那是十多年前的事了。目前使用'DataTable'的方法有**正在消失**很少有好的方案(主要的一種方法是,如果你正在編寫一個不受模式限制的工具,就像一個臨時查詢工具,就像[數據資源管理器]一樣)( http://data.stackexchange.com/))。幾乎任何替代方法都是**,遠遠優於**。一個'List ',例如 - 由一個ORM或micro-ORM填充。 –