示例#1
0
        private void button_extension_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (DataGridViewRow item in dataGridView1.SelectedRows)
                {
                    name       = item.Cells[1].Value.ToString();
                    id         = Convert.ToInt32(item.Cells[0].Value.ToString());
                    tuition    = Convert.ToInt32(item.Cells[2].Value.ToString());
                    teacher_id = Convert.ToInt32(item.Cells[3].Value.ToString());
                }

                Subject_Add subject_add = new Subject_Add();
                subject_add.Passvalue_id      = id;
                subject_add.Passvalue_name    = name;
                subject_add.Passvalue_num     = 1;
                subject_add.Passvalue_techer  = teacher_id;
                subject_add.Passvalue_tuition = tuition;
                subject_add.ShowDialog();
            }
            catch (Exception exception)
            {
                MessageBox.Show("과목을 선택해주세요", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            string           query = "SELECT id as 과목번호, name as 과목명, tuition as 수강료, teacher_id as 강사번호  FROM SUBJECT ORDER BY ID ASC";
            OracleDataReader rdr   = DBManager.GetInstance().ExecuteReader(query);

            dataGridView1.DataSource = null;

            DataTable dt = new DataTable();

            dt.Load(rdr);
            dataGridView1.DataSource = dt;
        }
示例#2
0
        public Subject()
        {
            InitializeComponent();
            aa = false;
            DBManager.GetInstance().DBConnection(oracleConnection1);

            string           query = "SELECT id as 과목번호, name as 과목명, tuition as 수강료, teacher_id as 강사번호  FROM SUBJECT ORDER BY ID ASC";
            OracleDataReader rdr   = DBManager.GetInstance().ExecuteReader(query);

            dataGridView1.DataSource = null;

            DataTable dt = new DataTable();

            dt.Load(rdr);
            dataGridView1.DataSource = dt;

            comboBox_Search.Items.Add("과목번호");
            comboBox_Search.Items.Add("과목명");
            comboBox_Search.Items.Add("수강료");
            comboBox_Search.Items.Add("강사번호");
            comboBox_Search.Items.Add("월");

            query = "select DISTINCT to_char(sub1.day, 'yyyy') AS yyyy FROM register rt1, subject sub1 WHERE rt1.subject_id = sub1.id";
            OracleDataReader rdr_year = DBManager.GetInstance().ExecuteReader(query);

            while (rdr_year.Read())
            {
                comboBox_year.Items.Add(rdr_year["yyyy"]);
            }

            chart1.Titles.Add("과목 별 수강생 수 변화");
            chart1.Titles[0].Font = new Font(new FontFamily("휴먼모음T"), 15.75f, FontStyle.Bold);
        }
示例#3
0
        private void button_Del_Click(object sender, EventArgs e)
        {
            string       key;
            DialogResult result = MessageBox.Show("삭제하시겠습니까?", "알림", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                foreach (DataGridViewRow item in dataGridView1.SelectedRows)
                {
                    key = item.Cells[0].Value.ToString();

                    string query = "DELETE FROM attendence WHERE lecture_sub_ID = " + Convert.ToInt32(key) + "";
                    int    rdr3  = DBManager.GetInstance().ExecuteNon(query);

                    query = "DELETE FROM register WHERE subject_ID = " + Convert.ToInt32(key) + ""; //삭제
                    rdr3  = DBManager.GetInstance().ExecuteNon(query);

                    string query_lecture_del = "DELETE FROM LECTURE WHERE subject_ID = " + Convert.ToInt32(key) + ""; //삭제
                    rdr3 = DBManager.GetInstance().ExecuteNon(query_lecture_del);

                    query = "DELETE FROM SUBJECT WHERE ID = " + Convert.ToInt32(key) + ""; //삭제
                    rdr3  = DBManager.GetInstance().ExecuteNon(query);

                    string           query2 = "SELECT id as 과목번호, name as 과목명, tuition as 수강료, teacher_id as 강사번호  FROM SUBJECT ORDER BY ID ASC"; //데이터 그리드뷰 초기화
                    OracleDataReader rdr2   = DBManager.GetInstance().ExecuteReader(query2);

                    DataTable dt = new DataTable();
                    dt.Load(rdr2);
                    dataGridView1.DataSource = dt;
                }
            }
        }
示例#4
0
        private void button1_Click(object sender, EventArgs e)
        {
            string           query = "SELECT id as 과목번호, name as 과목명, tuition as 수강료, teacher_id as 강사번호  FROM SUBJECT ORDER BY ID ASC";
            OracleDataReader rdr   = DBManager.GetInstance().ExecuteReader(query);

            dataGridView1.DataSource = null;
            dataGridView2.DataSource = null;

            DataTable dt = new DataTable();

            dt.Load(rdr);
            dataGridView1.DataSource = dt;
        }
示例#5
0
        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            string subjectID = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString(); // 과목아이디 받아오기

            string           query = "SELECT id as 과목번호, name as 과목명, tuition as 수강료, teacher_id as 강사번호  FROM SUBJECT ORDER BY ID ASC";
            OracleDataReader rdr   = DBManager.GetInstance().ExecuteReader(query);

            dataGridView1.DataSource = null;

            DataTable dt = new DataTable();

            dt.Load(rdr);
            dataGridView1.DataSource = dt;

            query = "SELECT * FROM LECTURE WHERE SUBJECT_ID = " + Convert.ToInt32(subjectID) + " ORDER BY DAY ASC";
            rdr   = DBManager.GetInstance().ExecuteReader(query);

            dt = new DataTable();
            dt.Load(rdr);
            dataGridView2.DataSource = dt;
        }
        private void button_Add_Click(object sender, EventArgs e)
        {
            int y = textIsFull();

            if (y == 3)
            {
                return;
            }

            string           query_ex = "SELECT id From teacher";
            OracleDataReader rdr_ex   = DBManager.GetInstance().ExecuteReader(query_ex);

            while (rdr_ex.Read())
            {
                if (!textBox_TeacherID.Text.Equals(rdr_ex["id"].ToString()))
                {
                    MessageBox.Show("없는 강사번호입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            query_ex = "SELECT room From room";
            rdr_ex   = DBManager.GetInstance().ExecuteReader(query_ex);
            while (rdr_ex.Read())
            {
                if (!textBox_RoomNum.Text.Equals(rdr_ex["room"].ToString()))
                {
                    MessageBox.Show("없는 강의실입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }

            //과목 추가
            int    tuition   = Convert.ToInt32(textBox_tuition.Text);
            int    teacherID = Convert.ToInt32(textBox_TeacherID.Text);
            string year      = textBox_year.Text.ToString();
            //if(textBox_month.Text)
            string month       = textBox_month.Text.ToString();
            string subjectName = textBox_Subname.Text.ToString();
            string Room        = textBox_RoomNum.Text;

            ////강의1 추가
            string week_1 = textBox_week1.Text;
            string week_2 = textBox_week2.Text;

            //시간비교를 위해 입력받은 값을 인트형으로 변환
            string[] temp            = textBox_Start1.Text.Split(':');
            int      time_StartTime1 = Convert.ToInt32(temp[0] + temp[1]);

            temp = textBox_End1.Text.Split(':');
            int time_EndTime1 = Convert.ToInt32(temp[0] + temp[1]);

            temp = textBox_Start2.Text.Split(':');
            int time_StartTime2 = Convert.ToInt32(temp[0] + temp[1]);

            temp = textBox_End2.Text.Split(':');
            int time_EndTime2 = Convert.ToInt32(temp[0] + temp[1]);

            DateTime dateTime2 = DateTime.ParseExact("" + year + "" + month + "01", "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);

            //강의 시간 입력하기

            int      lectureID = 1;
            DateTime a         = dateTime2;

            bool update = true; //업데이트 조건 최종 true 일 때

            if (num == 1)
            {
                query_ex = "SELECT subject_id, to_char(DAY, 'HH24mi') AS DAY_TIME, to_char(END_DAY, 'HH24mi') AS END_DAY_TIME, to_char(DAY, 'dy','NLS_DATE_LANGUAGE=korean') AS DAY_WEEK, to_char(DAY, 'mm') AS DAY_MONTH, to_char(DAY, 'yyyy') AS DAY_YEAR, ROOM_NUM FROM LECTURE where  to_char(DAY, 'yyyy')='" + textBox_year.Text + "' and  to_char(DAY, 'mm')='" + textBox_month.Text + "'";
                rdr_ex   = DBManager.GetInstance().ExecuteReader(query_ex);
                while (rdr_ex.Read())
                {
                    //비교를 위한 변수들
                    string sub_id       = rdr_ex["subject_id"].ToString();
                    int    time_Day     = Convert.ToInt32(rdr_ex["DAY_TIME"]);
                    int    time_End_Day = Convert.ToInt32(rdr_ex["END_DAY_TIME"]);
                    string day_week     = rdr_ex["DAY_WEEK"].ToString();
                    string Room_num     = rdr_ex["ROOM_NUM"].ToString();
                    string day_month    = rdr_ex["DAY_MONTH"].ToString();
                    string day_year     = rdr_ex["DAY_YEAR"].ToString();

                    a = dateTime2;

                    if ((id == Convert.ToInt32(sub_id)) && ((day_month.Equals(month)) && year.Equals(day_year)))
                    {
                        MessageBox.Show("이미 있는 달을 입력하셧습니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    string realmonth = "";
                    if (a.Month >= 1 && a.Month <= 9)
                    {
                        realmonth = "0" + a.Month.ToString();
                    }


                    //달이 넘어가면 멈춤
                    while (realmonth.Equals(month))
                    {
                        if (year.Equals(day_year))
                        {
                            //달이 같은지 검사
                            if (month.Equals(day_month))
                            {
                                //요일을 한글로 변환해서 받아옴
                                string week = GetDay(a);

                                //요일이 일치하는지 검사
                                if (week.Equals(week_1))
                                {
                                    //강의실이 같은지 검사
                                    if (Room_num.Equals(Room))
                                    {
                                        //시간 비교
                                        if ((time_Day > time_EndTime1 && time_Day > time_StartTime1) || (time_End_Day < time_EndTime1) && (time_End_Day < time_StartTime1))
                                        {
                                            update = true;
                                        }
                                        else
                                        {
                                            update = false;

                                            MessageBox.Show("이미 " + textBox_week1.Text + "요일의 강의가 있는 시간입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            break;
                                        }
                                    }
                                }

                                if (week.Equals(week_2))
                                {
                                    if (Room_num.Equals(Room))
                                    {
                                        if ((time_Day > time_EndTime2 && time_Day > time_StartTime2) || (time_End_Day < time_EndTime2) && (time_End_Day < time_StartTime2))
                                        {
                                            update = true;
                                        }
                                        else
                                        {
                                            update = false;

                                            MessageBox.Show("이미 " + textBox_week2.Text + "요일의 강의가 있는 시간입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                            break;
                                        }
                                    }
                                }
                            }
                        }
                        //날을 하루 씩 증가
                        a = a.AddDays(1);
                        if (a.Month >= 1 && a.Month <= 9)
                        {
                            realmonth = "0" + a.Month.ToString();
                        }
                    }

                    if (update == false)
                    {
                        break;
                    }
                }

                a = dateTime2;
                string realmonth2 = "";
                if (a.Month >= 1 && a.Month <= 9)
                {
                    realmonth2 = "0" + a.Month.ToString();
                }
                //강의 추가
                while (realmonth2.Equals(month))
                {
                    if (update == true)
                    {
                        string week = GetDay(a);

                        if (week.Equals(week_1))
                        {
                            //강의1 추가
                            string start_time1 = a.ToString("yyyyMMdd");
                            string end_time1   = a.ToString("yyyyMMdd");
                            string start       = start_time1 + textBox_Start1.Text;
                            string end         = end_time1 + textBox_End1.Text;

                            string query3 = "INSERT INTO LECTURE(SUBJECT_ID, ID, DAY, END_DAY, ROOM_NUM)" + "VALUES(" + id + "," + lectureID + ",to_date('" + start + "', 'yyyy-mm-dd hh24:mi'), to_date('" + end + "', 'yyyy-mm-dd hh24:mi'), '" + textBox_RoomNum.Text + "')";
                            int    rdr3   = DBManager.GetInstance().ExecuteNon(query3);
                            lectureID++;
                        }

                        if (week.Equals(week_2))
                        {
                            //강의2 추가
                            string start_time2 = a.ToString("yyyyMMdd");
                            string end_time2   = a.ToString("yyyyMMdd");
                            string start2      = start_time2 + textBox_Start2.Text;
                            string end2        = end_time2 + textBox_End2.Text;

                            string query3 = "INSERT INTO LECTURE(SUBJECT_ID, ID, DAY, END_DAY, ROOM_NUM)" + "VALUES(" + id + "," + lectureID + ",to_date('" + start2 + "', 'yyyy-mm-dd hh24:mi'), to_date('" + end2 + "', 'yyyy-mm-dd hh24:mi'), '" + textBox_RoomNum.Text + "')";
                            int    rdr3   = DBManager.GetInstance().ExecuteNon(query3);
                            lectureID++;
                        }
                    }
                    //날을 하루 씩 증가
                    a = a.AddDays(1);
                    if (a.Month >= 1 && a.Month <= 9)
                    {
                        realmonth2 = "0" + a.Month.ToString();
                    }
                }
            }

            if (num == 1)
            {
                return;
            }

            lectureID = 1;
            a         = dateTime2;


            string           dateTime = DateParse(DateTime.ParseExact("" + year + "" + month + "", "yyyyMM", System.Globalization.CultureInfo.InvariantCulture).ToString());
            string           query    = "INSERT INTO SUBJECT(ID, NAME, TUITION, TEACHER_ID, DAY)" + "VALUES(SEQ_SUBJECT.nextval,'" + subjectName + "'," + tuition + "," + teacherID + ",to_date('" + dateTime + "', 'yyyy-mm-dd hh24:mi'))";
            OracleDataReader rdr      = DBManager.GetInstance().ExecuteReader(query);

            query = "SELECT SEQ_SUBJECT.currval from dual";
            int subject_ID = Convert.ToInt32(DBManager.GetInstance().DBSaclar(query));

            //과목 추가

            query = "SELECT to_char(DAY, 'HH24mi') AS DAY_TIME, to_char(END_DAY, 'HH24mi') AS END_DAY_TIME, to_char(DAY, 'dy','NLS_DATE_LANGUAGE=korean') AS DAY_WEEK, to_char(DAY, 'mm') AS DAY_MONTH, ROOM_NUM FROM LECTURE";
            OracleDataReader rdr2 = DBManager.GetInstance().ExecuteReader(query);

            while (rdr2.Read())
            {
                //비교를 위한 변수들
                int    time_Day     = Convert.ToInt32(rdr2["DAY_TIME"]);
                int    time_End_Day = Convert.ToInt32(rdr2["END_DAY_TIME"]);
                string day_week     = rdr2["DAY_WEEK"].ToString();
                string Room_num     = rdr2["ROOM_NUM"].ToString();
                string day_month    = rdr2["DAY_MONTH"].ToString();

                a = dateTime2;

                //달이 넘어가면 멈춤
                while (a.Month.ToString().Equals(month))
                {
                    //달이 같은지 검사
                    if (month.Equals(day_month))
                    {
                        //요일을 한글로 변환해서 받아옴
                        string week = GetDay(a);

                        //요일이 일치하는지 검사
                        if (week.Equals(week_1))
                        {
                            //강의실이 같은지 검사
                            if (Room_num.Equals(Room))
                            {
                                //시간 비교
                                if ((time_Day > time_EndTime1 && time_Day > time_StartTime1) || (time_End_Day < time_EndTime1) && (time_End_Day < time_StartTime1))
                                {
                                    update = true;
                                }
                                else
                                {
                                    query = "DELETE FROM SUBJECT WHERE ID = " + subject_ID + "";
                                    int rdr_del = DBManager.GetInstance().ExecuteNon(query);

                                    update = false;

                                    MessageBox.Show("이미 " + textBox_week1.Text + "요일의 강의가 있는 시간입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    break;
                                }
                            }
                        }

                        if (week.Equals(week_2))
                        {
                            if (Room_num.Equals(Room))
                            {
                                if ((time_Day > time_EndTime2 && time_Day > time_StartTime2) || (time_End_Day < time_EndTime2) && (time_End_Day < time_StartTime2))
                                {
                                    update = true;
                                }
                                else
                                {
                                    query = "DELETE FROM SUBJECT WHERE ID = " + subject_ID + "";
                                    int rdr_del = DBManager.GetInstance().ExecuteNon(query);

                                    update = false;

                                    MessageBox.Show("이미 " + textBox_week2.Text + "요일의 강의가 있는 시간입니다.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    break;
                                }
                            }
                        }
                    }
                    //날을 하루 씩 증가
                    a = a.AddDays(1);
                }

                if (update == false)
                {
                    break;
                }
            }

            a = dateTime2;

            //강의 추가
            while (a.Month.ToString().Equals(month))
            {
                if (update == true)
                {
                    string week = GetDay(a);

                    if (week.Equals(week_1))
                    {
                        //강의1 추가
                        string start_time1 = a.ToString("yyyyMMdd");
                        string end_time1   = a.ToString("yyyyMMdd");
                        string start       = start_time1 + textBox_Start1.Text;
                        string end         = end_time1 + textBox_End1.Text;

                        string query3 = "INSERT INTO LECTURE(SUBJECT_ID, ID, DAY, END_DAY, ROOM_NUM)" + "VALUES(" + subject_ID + "," + lectureID + ",to_date('" + start + "', 'yyyy-mm-dd hh24:mi'), to_date('" + end + "', 'yyyy-mm-dd hh24:mi'), '" + textBox_RoomNum.Text + "')";
                        int    rdr3   = DBManager.GetInstance().ExecuteNon(query3);
                        lectureID++;
                    }

                    if (week.Equals(week_2))
                    {
                        //강의2 추가
                        string start_time2 = a.ToString("yyyyMMdd");
                        string end_time2   = a.ToString("yyyyMMdd");
                        string start2      = start_time2 + textBox_Start2.Text;
                        string end2        = end_time2 + textBox_End2.Text;

                        string query3 = "INSERT INTO LECTURE(SUBJECT_ID, ID, DAY, END_DAY, ROOM_NUM)" + "VALUES(" + subject_ID + "," + lectureID + ",to_date('" + start2 + "', 'yyyy-mm-dd hh24:mi'), to_date('" + end2 + "', 'yyyy-mm-dd hh24:mi'), '" + textBox_RoomNum.Text + "')";
                        int    rdr3   = DBManager.GetInstance().ExecuteNon(query3);
                        lectureID++;
                    }
                }

                //날을 하루 씩 증가
                a = a.AddDays(1);
            }
        }
示例#7
0
        private void button_Search_Click(object sender, EventArgs e)
        {
            string x;

            try
            {
                x = comboBox_Search.SelectedItem.ToString();
            }
            catch (Exception exception)
            {
                MessageBox.Show("검색키워드를 선택해주십시오.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            switch (x)
            {
            case "과목번호":
                string           id    = textBox_Search.Text.ToString();
                string           query = "SELECT * FROM SUBJECT WHERE id = '" + id + "' ORDER BY ID ASC";
                OracleDataReader rdr   = DBManager.GetInstance().ExecuteReader(query);
                dataGridView1.DataSource = null;

                DataTable dt = new DataTable();
                dt.Load(rdr);
                dataGridView1.DataSource = dt;
                break;

            case "과목명":
                string name = textBox_Search.Text.ToString();
                query = "SELECT * FROM SUBJECT WHERE name like '" + name + "%' ORDER BY ID ASC";
                OracleDataReader rdr_name = DBManager.GetInstance().ExecuteReader(query);
                dataGridView1.DataSource = null;

                dt = new DataTable();
                dt.Load(rdr_name);
                dataGridView1.DataSource = dt;
                break;

            case "수강료":
                string tuition = textBox_Search.Text.ToString();
                query = "SELECT * FROM SUBJECT WHERE tuition = '" + tuition + "' ORDER BY ID ASC";
                OracleDataReader rdr_tuition = DBManager.GetInstance().ExecuteReader(query);
                dataGridView1.DataSource = null;

                dt = new DataTable();
                dt.Load(rdr_tuition);
                dataGridView1.DataSource = dt;
                break;

            case "강사번호":
                string teacher_id = textBox_Search.Text.ToString();
                query = "SELECT * FROM SUBJECT WHERE teacher_id = '" + teacher_id + "' ORDER BY ID ASC";
                OracleDataReader rdr_teacher_id = DBManager.GetInstance().ExecuteReader(query);
                dataGridView1.DataSource = null;

                dt = new DataTable();
                dt.Load(rdr_teacher_id);
                dataGridView1.DataSource = dt;
                break;

            case "월":
                try
                {
                    foreach (DataGridViewRow item in dataGridView1.SelectedRows)
                    {
                        int sub_id = Convert.ToInt32(item.Cells[0].Value.ToString());
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show("과목을 선택해주십시오.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                string day = textBox_Search.Text.ToString();
                query = "SELECT * FROM lecture WHERE to_char(day, 'mm') = '" + day + "' ORDER BY subject_id, id ASC";
                OracleDataReader rdr_day = DBManager.GetInstance().ExecuteReader(query);
                dataGridView2.DataSource = null;

                dt = new DataTable();
                dt.Load(rdr_day);
                dataGridView2.DataSource = dt;
                break;

            default:
                MessageBox.Show("데이터가 없습니다", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                break;
            }
        }
示例#8
0
        private void comboBox_year_SelectedIndexChanged(object sender, EventArgs e)
        {
            chart1.Series.Clear();
            string year  = comboBox_year.SelectedItem.ToString();
            int    month = 1;
            string mm;

            for (int i = 1; i < 13; i++)
            {
                if (i >= 1 && i < 10)
                {
                    mm = "0" + i.ToString();
                }
                else
                {
                    mm = i.ToString();
                }

                string           query = "select subject.name subname, qq.a, qq.b from subject, (select count(*) a, register.subject_id b from register join subject on subject.id = register.subject_id where to_char(register.day, 'yyyymm')='" + comboBox_year.Text + mm + "' group by register.subject_id) qq where subject.id = qq.b";
                OracleDataReader rdr2  = DBManager.GetInstance().ExecuteReader(query);
                if (rdr2.HasRows)
                {
                    while (rdr2.Read())
                    {
                        string subname = rdr2["subname"].ToString();
                        if (chart1.Series.IsUniqueName(subname) is false)
                        {
                            chart1.Series.Add(rdr2["subname"].ToString());
                        }
                        else
                        {
                            chart1.Series["subname"].Points.AddXY(mm, Convert.ToInt32(rdr2["a"]));
                        }
                    }
                }
            }

            /*
             *  while (rdr2.Read())
             *  {
             *      int mm = Convert.ToInt32(rdr2["mm"]);
             *      string name = rdr2["sub_name"].ToString() + "-" + rdr2["id"].ToString();
             *
             *      while (true)
             *      {
             *          if (chart1.Series.IsUniqueName(name) is false)
             *          {
             *              for (month = 1; month < 13; month++)
             *              {
             *                  if (mm == month)
             *                  {
             *                      chart1.Series[name].Points.AddXY(month, Convert.ToInt32(rdr2["stu_num"]));
             *                  }
             *                  else
             *                  {
             *                      chart1.Series[name].Points.AddXY(month, 0);
             *                  }
             *              }
             *              break;
             *          }
             *          else
             *          {
             *              chart1.Series.Add(name);
             *              chart1.Series[name].ChartType = SeriesChartType.Line;
             *          }
             *      }
             *  }*/
        }
示例#9
0
        static bool update = true; //업데이트 조건 최종 true 일 때 업데이트

        private void button_Save_Click(object sender, EventArgs e)
        {
            string key;
            string name;
            string tuition;
            string teacher_id;
            int    start_time;
            int    end_time;
            string room_num;

            DialogResult result = MessageBox.Show("수정하시겠습니까?", "알림", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    key        = dataGridView1.Rows[i].Cells[0].Value.ToString();
                    name       = dataGridView1.Rows[i].Cells[1].Value.ToString();
                    tuition    = dataGridView1.Rows[i].Cells[2].Value.ToString();
                    teacher_id = dataGridView1.Rows[i].Cells[3].Value.ToString();

                    string query = "UPDATE SUBJECT set name = '" + name + "' tuition = '" + Convert.ToInt32(tuition) + "', teacher_id = '" + Convert.ToInt32(teacher_id) + "' where id = " + Convert.ToInt32(key) + "";
                    int    rdr2  = DBManager.GetInstance().ExecuteNon(query);
                }

                for (int i = 0; i < dataGridView2.Rows.Count; i++)
                {
                    //데이터 그리드뷰 모든 데이터
                    int sub_id = Convert.ToInt32(dataGridView2.Rows[i].Cells[0].Value.ToString());
                    int id     = Convert.ToInt32(dataGridView2.Rows[i].Cells[1].Value.ToString());
                    start_time = Convert.ToInt32(DateParse_time(dataGridView2.Rows[i].Cells[2].Value.ToString()));
                    end_time   = Convert.ToInt32(DateParse_time(dataGridView2.Rows[i].Cells[3].Value.ToString()));
                    room_num   = dataGridView2.Rows[i].Cells[4].Value.ToString();
                    string supply = dataGridView2.Rows[i].Cells[5].Value.ToString();

                    //날짜 비교를 위한 변수
                    string week_ = DateParse_day(dataGridView2.Rows[i].Cells[2].Value.ToString());

                    //시작시간, 끝시간, 날짜, 방번호, 과목번호를 받아온다. 단, 수정하려는 데이터의 강의는 제외한다.
                    string           query = "SELECT to_char(DAY, 'HH24mi') AS DAY_TIME, to_char(END_DAY, 'HH24mi') AS END_DAY_TIME, to_char(DAY, 'yyyy-MM-dd') AS DAY_WEEK, ROOM_NUM, subject_id FROM LECTURE where subject_id not in (" + sub_id + ")";
                    OracleDataReader rdr2  = DBManager.GetInstance().ExecuteReader(query);
                    while (rdr2.Read())
                    {
                        int    time_Day     = Convert.ToInt32(rdr2["DAY_TIME"]);
                        int    time_End_Day = Convert.ToInt32(rdr2["END_DAY_TIME"]);
                        string day_week     = rdr2["DAY_WEEK"].ToString();
                        string Room_num_    = rdr2["ROOM_NUM"].ToString();
                        int    date_sub_id  = Convert.ToInt32(rdr2["subject_id"]);

                        if (week_.Equals(day_week))
                        {
                            if ((time_Day > end_time && time_Day > start_time) || (time_End_Day < end_time) && (time_End_Day < start_time))
                            {
                                if (Room_num_.Equals(room_num))
                                {
                                    update = true;
                                }
                            }
                            else
                            {
                                update = false;
                                MessageBox.Show("이미 강의가 있는 시간입니다. 시간표를 확인하십시오", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                break;
                            }
                        }
                    }

                    if (update == true)
                    {
                        query = "update lecture set day = to_date('" + DateParse(dataGridView2.Rows[i].Cells[2].Value.ToString()) + "', 'yyyy-mm-dd hh24:mi'), end_day = to_date('" + DateParse(dataGridView2.Rows[i].Cells[3].Value.ToString()) + "', 'yyyy-mm-dd hh24:mi'), room_num = '" + room_num + "' where subject_id = " + sub_id + " AND id = " + id + "";
                        int rdr3 = DBManager.GetInstance().ExecuteNon(query);
                    }
                }
            }
        }