It's not clear when you open your reader - it depends what
oledbdr = GFun.ReadAcessSql(sql);
actually achieves.
I would rather do something like this ...
[Edit - amended for MSAccess instead of SQL]
sql = "select [Fac_Name],[Holiday_Day] from Tb_common_Holidays where FacName = @P1 and Holiday_Day = @P2";
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = yourConnection;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
cmd.Parameters["@P1"].AddWithValue("P1", cb_Faculty_Code.Text.ToString().Trim());
cmd.Parameters["@P2"].AddWithValue("P2", dt1.DayOfWeek.ToString().Trim());
OleDbDataReader dr = cmd.ExecuteReader();
oledbdr.Read();
if (oledbdr.HasRows == true)
{
DGVCalendar.Rows[row].Cells[1].Style.BackColor = Color.Pink;
DGVCalendar.Rows[row].Cells[2].Style.ForeColor = Color.Brown;
DGVCalendar.Rows[row].Cells[2].Value = dt1.DayOfWeek.ToString();
}
oledbdr.Close();