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; } } }