Exemplo n.º 1
0
 private void OnAsyncConnectCompleted(object sender, AsyncTaskResultPostedEventArgs e)
 {
     this.Connecting = false;
     ConnectType data = (ConnectType) e.Data;
     ConnectionTask task = sender as ConnectionTask;
     if (((task != this._connectionTask) || task.IsCanceled) && (task.Database != null))
     {
         try
         {
             task.Database.Disconnect();
         }
         catch
         {
         }
     }
     else if (task.Database == null)
     {
         this.ReportError(task.Exception, "Unable to connect to the database.");
     }
     else
     {
         switch (data)
         {
             case ConnectType.ConnectButton:
             {
                 this.ConnectionSettings.Filename = this._filenameEdit.Text;
                 AccessDatabase database = new AccessDatabase(this.ConnectionSettings);
                 try
                 {
                     database.Connect();
                     base.DialogResult = DialogResult.OK;
                     base.Close();
                     return;
                 }
                 catch (Exception exception)
                 {
                     this.ReportError(exception.Message, "Unable to connect to the database.");
                 }
                 finally
                 {
                     database.Disconnect();
                 }
                 break;
             }
         }
         task.Database.Disconnect();
     }
 }