I have this method that has to scan a database table Announce continuously until a new record appears it compares it to a record from another table and if it matches it Deletes it from table announce and it continues to search until anothe record appears. Is there a better way of doing this instead of using a while(true) statement. Note: I am using Sqlserver

```
 //Begin method
    public void Begin()
    {
        string announce;
        double announceID;

        try
        {
            using (SqlConnection connStr = new SqlConnection(ConfigurationManager.ConnectionStrings["AnnounceConnString"].ConnectionString))
            {
                while (true)
                {
                  //Selects Last record written to tblAnnounce 
                    SqlCommand sqlcommandStart = new SqlCommand("AnnounceSelect", connStr);
                    sqlcommandStart.CommandType = CommandType.StoredProcedure;
                    connStr.Open();

                    SqlDataReader dr = sqlcommandStart.ExecuteReader();

                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            announce = dr["AnnounceID"].ToString();
                            announceID = Convert.ToDouble(announce);
                            //Compares Values
                            //if it matches then DELETE record from TblAnnounce
                        }
                        connStr.Close();
                    }
                    else 
                    {
                        connStr.Close();

                    }
                    dr.Close();
                }
            }
        }
        catch(Exception ex)
        {
            string exception = ex.Message;
            MessageBox.Show(exception
        }

    }

```