| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | using System;using System.Collections.Generic;using System.Text;using FirebirdSql.Data.FirebirdClient;using System.Data;using System.Collections;namespace FPER{    class DacTableCopy : DacBase    {        public DacTableCopy(int ID)            : base(ID) // cyim 2015.7.30 데이타베이스 접속 루틴 변경        {            //try {            //  base.Connect();            //}            //catch (Exception ex) {            //  Util.UErrorMessage(ex, 0, 0);            //}        }        ~DacTableCopy()        {            //try {            //  base.DisConnect();            //}            //catch (Exception ex) {            //  Util.UErrorMessage(ex, 0, 0);            //}        }        public Boolean TableCopy(string tableName)        {            string tableNameBackUp = "";            string SQL = "";            Boolean BackUpTableOk = false;            try            {                tableName = tableName.ToUpper();                tableNameBackUp = string.Format("{0}_BACKUP", tableName, DateTime.Now);                switch (tableName)                {                    case "TB_BOARD": BackUpTableOk = true; break;                    case "TB_DEVICE": BackUpTableOk = true; break;                    case "TB_DEVICE_TYPE": BackUpTableOk = true; break;                    case "TB_GROUP": BackUpTableOk = true; break;                    case "TB_GROUP_DEVICE": BackUpTableOk = true; break;                    case "TB_MAP": BackUpTableOk = true; break;                    case "TB_MAP_PROCESS": BackUpTableOk = true; break;                    case "TB_POSITION_CODE": BackUpTableOk = true; break;                    case "TB_REPEATER": BackUpTableOk = true; break;                    case "TB_CONFIG": break;                    case "TB_COMM": break;                    case "TB_RECEIVER": break;                    case "TB_COMMAND_LOG": break;                    case "TB_COMM_LOG": break;                }                if (BackUpTableOk)                {                    SQL = string.Format("DELETE FROM {0};", tableNameBackUp);                    ExecuteNonQuery(SQL);                    SQL = string.Format("INSERT INTO {0} SELECT * FROM {1};", tableNameBackUp, tableName);                    ExecuteNonQuery(SQL);                }                else                {                    throw new Exception("백업을 지원하지 않는 테이블입니다.");                }            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);                throw ex;            }            return BackUpTableOk;        }        public string TableRestore(string tableName)        {            string tableNameBackUp = "";            string SQL = "";            Boolean BackUpTableOk = false;            try            {                tableName = tableName.ToUpper();                tableNameBackUp = string.Format("{0}_BACKUP", tableName, DateTime.Now);                switch (tableName)                {                    case "TB_BOARD": BackUpTableOk = true; break;                    case "TB_DEVICE": BackUpTableOk = true; break;                    case "TB_DEVICE_TYPE": BackUpTableOk = true; break;                    case "TB_GROUP": BackUpTableOk = true; break;                    case "TB_GROUP_DEVICE": BackUpTableOk = true; break;                    case "TB_MAP": BackUpTableOk = true; break;                    case "TB_MAP_PROCESS": BackUpTableOk = true; break;                    case "TB_POSITION_CODE": BackUpTableOk = true; break;                    case "TB_REPEATER": BackUpTableOk = true; break;                    case "TB_CONFIG": break;                    case "TB_COMM": break;                    case "TB_RECEIVER": break;                    case "TB_COMMAND_LOG": break;                    case "TB_COMM_LOG": break;                }                if (BackUpTableOk)                {                    SQL = string.Format("DELETE FROM {0};", tableName);                    ExecuteNonQuery(SQL);                    SQL = string.Format("INSERT INTO {0} SELECT * FROM {1};", tableName, tableNameBackUp);                    ExecuteNonQuery(SQL);                }                else                {                    throw new Exception("복원을 지원하지 않는 테이블입니다.");                }            }            catch (Exception ex)            {                Util.UErrorMessage(ex, 0, 0);                throw ex;            }            return tableNameBackUp;        }    }}
 |