關於SqlDependency的學習

2021-09-07 04:00:34 字數 925 閱讀 2869

使用 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封裝的乙個型別,當然要配合...