Csharp/C Sharp by API/System/IAsyncResult

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

IAsyncResult.IsCompleted

<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Runtime.Remoting.Messaging; using System.Threading; class Program {

   static void Main(string[] args) {
       SqlConnection cn = new SqlConnection();
       cn.ConnectionString = "uid=sa;pwd=;Initial Catalog=Cars;Asynchronous Processing=true;Data Source=(local)";
       cn.Open();
       string strSQL = "WaitFor Delay "00:00:02";Select * From Inventory";
       SqlCommand myCommand = new SqlCommand(strSQL, cn);
       IAsyncResult itfAsynch;
       itfAsynch = myCommand.BeginExecuteReader(CommandBehavior.CloseConnection);
       while (!itfAsynch.IsCompleted) {
           Console.WriteLine("Working on main thread...");
           Thread.Sleep(1000);
       }
       SqlDataReader myDataReader = myCommand.EndExecuteReader(itfAsynch);
       while (myDataReader.Read()) {
           Console.WriteLine("-> Make: {0}, PetName: {1}, Color: {2}.",
             myDataReader["Make"].ToString().Trim(),
             myDataReader["PetName"].ToString().Trim(),
             myDataReader["Color"].ToString().Trim());
       }
       myDataReader.Close();
   }

}

 </source>