try this
two datareaders is not necessary. and its good to clear the values initially on the event call, so that duplicates wont be there.
string name = textboxsearch.Text;
listView1.Visible = false;
listView1.Items.Clear();
if (name != "")
{
con.Open();
string str = "select * from all_record where title like'@name%'";
OleDbCommand cmd = new OleDbCommand(str, con);
cmd.Parameters.Add("@name",name);
OleDbDataReader dr1 = cmd.ExecuteReader();
while (dr1.Read())
{
listView1.Visible = true;
ListViewItem item = new ListViewItem(dr1["title"].ToString());
item.SubItems.Add(dr1["last_name"].ToString());
item.SubItems.Add(dr1["Age"].ToString());
listView1.Items.Add(item);
}
dr1.Close();
con.Close();
}
}
refer this regarding
sql injection[
^]