티스토리 뷰

Programming/.Net

C# 오라클 DB 연결 및 입력

Rusi(루시) 2009. 11. 4. 15:15
반응형
public void inputDB(ArrayList array, string saveFile)
        {
            try
            {
                //연결문
                string connstring = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=mydb)));User Id=sa;Password=1;";

                //Connection 생성
                OracleConnection conn = new OracleConnection(connstring);
                //conn.ConnectionString = connstring;
                conn.Open();
                //command 객체 생성
                OracleCommand oc = new OracleCommand();
                oc.Connection = conn;
                //같은 PROJJECT_ID값이 있으면 삭제
                oc.CommandText = "DELETE FROM EXPA_PROJ_TASK_SCHEDULES WHERE PROJECT_ID = " + saveFile;
                oc.ExecuteNonQuery();
               

                for (int i = 0; i < array.Count; i++)
                {
                    //불러온 MPP파일 객체 추출 Array에서 한줄씩 추출
                    MSProject.Task task = (MSProject.Task)array[i];
                    //추출한 내용의 입력
                    excuteInsert(conn, task, saveFile);
                }
                //오라클 연결 종료
                conn.Close();
                MessageBox.Show("파일을 업로드 하였습니다\n창을 닫고 폼즈에서 확인을 눌러주십요.");
            }
            catch (OracleException se)
            {
                MessageBox.Show(se.ToString());
            }
        }

        private void excuteInsert(OracleConnection conn, MSProject.Task task, string saveFile)
        {
            OracleCommand oc = new OracleCommand();
            oc.Connection = conn;
            oc.CommandText = "INSERT INTO EXPA_PROJ_TASK_SCHEDULES VALUES(" + saveFile + ", '" + task.Name.ToString() + "', '" + task.Notes.ToString() + "', '" + task.Start.ToString().Substring(0, 10) + "', '" + task.Finish.ToString().Substring(0, 10) + "', " + task.OutlineLevel.ToString() + ")";
            oc.ExecuteNonQuery();
        }
반응형
공지사항