You are binding Repeater when data is present. But when data is not present you are not binding Repeater , So what you looking is previous data because your repeater not bind again.
Either you should hide repeater or bind Repeater in both cases.
if (dr.HasRows)
{
Repeater2.Visible = true;
}
else
{
Repeater2.Visible = false;
}
You should validate your textbox to avoid error.
if(txtSearch.Text.Trim() != "")
{
Label1.Text = "Please insert song name.";
}
Use stored procedure rather than inline query.