О, у тебя проблема здесь.
Просто чтобы вы понимали, что происходит в вашем коде, вы пытаетесь открыть полученные данные и перебрать все это; Я не уверен, но я думаю, что вы эффективно повторно привязываете свой GridView к каждой строке данных в отдельности.
Вы не хотите перебирать все данные и «читать» их; вам нужно сохранить результаты вашего запроса в привязываемом объекте (например, в DataSet), чтобы вы могли приклеить к нему свое сеточное представление.
Попробуйте вместо этого что-то подобное, обязательно добавьте свой try / catch позже:
OracleCommand time = new OracleCommand(hrquery);
time.Connection = conn;
time.CommandType = CommandType.Text;
conn.Open();
// new code starts below
DataSet data = new DataSet("my data");
OracleDataAdapter adapter = new OracleDataAdapter(time);
adapter.Fill(data);
conn.Close();
xTimeGridView.DataSource = data;
xTimeGridView.DataBind();