As per my comment above ...
You will need a
WHERE
clause in your sql query and use SqlParameter to add the text into the query for which ever button was pressed.
You will also need to ExecuteQuery rather than ExecuteScalar so that you can get all of the results for each topic.
Beyond that I can't help as there is not enough information.
It's probably going to be something like this (not tested or compiled) ...
protected void BindRepeaterData(string topic)
{
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * from question WHERE topic=@topic", con);
cmd.Parameters.AddWithValue("@topic", topic);
DataSet ds = new DataSet();
da.Fill(ds);
...
int count = ds.Tables[0].Rows.Count;