任务消除

时间:2018-11-30 16:15:39

标签: c#

当我点击“添加”按钮时,我的数据被添加到数据库中,但是我遇到了

  

taskceleceledexception

例外文字:

  • Exception引发的异常:mscorlib.dll中的'System.Threading.Tasks.TaskCanceledException'(“Отмененазадача。”)System.Threading.Tasks.TaskCanceledException

如何解决此异常? 以及我该如何使用计时器?

object

1 个答案:

答案 0 :(得分:0)

哇,我想我找到了解决方法! 我只是在方法ReadBase()的放大上增加了一个延迟。

private async void ReadBase()
    {
        await Task.Delay(500);
        using (sqlConnection = new SqlConnection(connectionString))
        {
            SqlDataReader dataReader = null;
            SqlCommand command = new SqlCommand("SELECT id, name, surname FROM myHumanity", sqlConnection);
            try
            {
                await sqlConnection.OpenAsync();
                dataReader = await command.ExecuteReaderAsync();

                while (await dataReader.ReadAsync())
                {
                    listbox.Items.Add(Convert.ToString(dataReader["id"]) + "    " + Convert.ToString(dataReader["name"]) + "    " + Convert.ToString(dataReader["surname"]));
                }
            }
            catch (System.Threading.Tasks.TaskCanceledException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, ex.Source, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                dataReader?.Close();
                sqlConnection?.Close();
            }
        }   
    }