2024年4月28日发(作者:)
C# 异步执行 SQL 语句
2012/06/15 0
异步执行 SQL 语句,试下就明白,无需解释
/// summary /// 按钮事件 异步执行 /// /summary /// param name= sender /param
/// param name= e /param private void button4_Click(object sender, EventArgs e) {
string strSql = SELECT c1 ,c2 FROM T1; + WAITFOR DELAY ‘0:0:3’;
AsyncExecuteNonQuery(strSql, CallbackAsyncExecuteNonQuery); } /// summary ///
异步执行 SQL。 /// /summary /// param name= sqlText 要执行的 SQLText /param
/// param name= callBack 回执行监控事件 /param public static void
AsyncExecuteNonQuery(string sqlText, AsyncCallback callBack) { //关闭数据库连接要
在 callback 中关闭,因为是异步操作
connection = new
SqlConnection connection = null; try {
tionString = Data
Pool
SqlConnection();
Source=192.168.1.15;Initial
Size=200;Min
Processing=true
dType =
Pool
Catalog=TestDB;user id=sa;password=123;Max
Size=5;Pooling=true;Connection
SqlCommand cmd =
Timeout=50;Asynchronous
Command();
= sqlText; ; dText
(); xecuteNonQuery(callBack, cmd); //开始执行 SQL 语
句 } catch (Exception ex) { if (connection != null) { (); } } } /// summary
/// 执行异步 SQL 回调方法 /// /summary /// param name= callBack /param public
static void CallbackAsyncExecuteNonQuery(IAsyncResult callBack) { SqlCommand cmm
= null; try { cmm = (SqlCommand)tate; if (cmm == null) { return; }
cuteNonQuery(callBack); //执行完毕 } catch (Exception ex) { if (cmm !=
null) { //异步执行 SQL 异常 e(); } else { //异步执行 SQL 异常 } } finally {
if (cmm != null tion != null !=
) { e(); (); } } }
发布评论