使用 sqldependency 檢測更改
(1)定義或引入資料庫連線字串sqlstr,並配置config檔案中資料庫連線
(2)初始**中傳入連線字串,啟動基於資料庫的監聽:
sqldependency.start(sqlstr);
update1();
(3)寫update1()方法:
建立sqlconnection和sqlcommand物件以連線到伺服器,定義sql語句(必須是簡單的sql查詢語句,不能用*、top、函式、子查詢、外連線、自連線、臨時表、變數、檢視,表名之前必須加類似dbo資料庫所有者這樣的字首);
建立新的sqldependency物件並繫結到sqlcommand物件;
訂閱乙個onchange物件的sqldependency事件的事件處理程式;
讀取資料並進行相關操作。
using (sqlconnection connection = new sqlconnection(publicdata.constr))
rea.close();
command.dispose();}}
}
(4)編寫方法dependency_onchange(),它在資料庫中資料發生變化時執行
private void dependency_onchange(object sender, sqlnotificationeventargs e)
}
use 《資料庫名》
go
alter database 《資料庫名》 set new_broker with rollback immediate;
alter database 《資料庫名》 set enable_broker;
SqlDependency執行複雜SQL語句
參考 l l l l sqldependency監聽的sql語句有很多限制。參考 我有乙個需求 用sql1監聽table a,但是需要的結果是sql2 table a和table b的outer join 的sql語句 一直以為只要簡單在 onchangeeventhandler託管函式中,不執行s...
使用SqlDependency進行快取
快取是每個系統都必定涉及到的功能,一般的快取有乙個難題 什麼時候清除?如asp.net中的cache可以設定乙個過期時間,但設定多久合適呢?長了浪費,短了就失去快取的意義了。使用sqldependency進行快取則可以解決這個問題。sqldependency是.net2.0封裝的乙個型別,當然要配合...
使用SqlDependency進行快取
快取是每個系統都必定涉及到的功能,一般的快取有乙個難題 什麼時候清除?如asp.net中的cache可以設定乙個過期時間,但設定多久合適呢?長了浪費,短了就失去快取的意義了。使用sqldependency進行快取則可以解決這個問題。sqldependency是.net2.0封裝的乙個型別,當然要配合...