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(); (); } } }