diff --git a/Server/Git/ExcelSQL.cs b/Server/Git/ExcelSQL.cs index 1d85764..d3bc9eb 100644 --- a/Server/Git/ExcelSQL.cs +++ b/Server/Git/ExcelSQL.cs @@ -4,6 +4,7 @@ using Npgsql; using Server.SQL; using Server.System; using System.Globalization; +using System.Text; namespace Server.Git { @@ -30,87 +31,86 @@ namespace Server.Git // 쿼리 작성 및 실행 //모든 쿼리 삭제 - string query; + StringBuilder query; string header1 = "CREATE TABLE excel."; string header2 = "INSERT INTO excel."; - string newTableQuery; - string tableDatas; + StringBuilder newTableQuery; + StringBuilder tableDatas = new StringBuilder(); #region 모든 테이블 삭제 - query = "DROP SCHEMA excel CASCADE;" + - "CREATE SCHEMA excel AUTHORIZATION manager;"; - ExecuteNonQuery(connection, query); + ExecuteNonQuery(connection, "DROP SCHEMA excel CASCADE;CREATE SCHEMA excel AUTHORIZATION manager;"); #endregion #region 테이블 세팅 - query = ""; + query = new StringBuilder(); for (int n = 0; n < sheets.Count; n++) { //초기화 - newTableQuery = ""; - tableDatas = "("; + newTableQuery = new StringBuilder(); + tableDatas.Append("("); #region 신규 테이블 생성 - newTableQuery += header1; - newTableQuery += sheets[n].name + "("; + newTableQuery.Append(header1); + newTableQuery.Append(sheets[n].name); + newTableQuery.Append("("); for (int m = 0; m < sheets[n].variable.Count; m++) { if (sheets[n].dataEnum[m] == "client") continue; if (sheets[n].type[m] == "long" && sheets[n].variable[m] == "index") { - newTableQuery += "index SERIAL PRIMARY KEY"; - tableDatas += "index"; + newTableQuery.Append("index SERIAL PRIMARY KEY"); + tableDatas.Append("index"); continue; } if (m != 0) { - newTableQuery += ","; - tableDatas += ", "; + newTableQuery.Append(","); + tableDatas.Append(", "); } switch (sheets[n].type[m]) { case "bool": - newTableQuery += $"{sheets[n].variable[m]} BOOL "; + newTableQuery.Append($"{sheets[n].variable[m]} BOOL "); break; case "int": - newTableQuery += $"{sheets[n].variable[m]} INT "; + newTableQuery.Append($"{sheets[n].variable[m]} INT "); break; case "long": - newTableQuery += $"{sheets[n].variable[m]} LONG "; + newTableQuery.Append($"{sheets[n].variable[m]} LONG "); break; case "float": - newTableQuery += $"{sheets[n].variable[m]} FLOAT4 "; + newTableQuery.Append($"{sheets[n].variable[m]} FLOAT4 "); break; case "string": case "json": - newTableQuery += $"{sheets[n].variable[m]} VARCHAR(255) "; + newTableQuery.Append($"{sheets[n].variable[m]} VARCHAR(255) "); break; case "enum": - newTableQuery += $"{sheets[n].variable[m]} INT2 "; + newTableQuery.Append($"{sheets[n].variable[m]} INT2 ") ; break; case "text": - newTableQuery += $"{sheets[n].variable[m]} TEXT "; + newTableQuery.Append($"{sheets[n].variable[m]} TEXT "); break; case "time": - newTableQuery += $"{sheets[n].variable[m]} timestamp "; + newTableQuery.Append($"{sheets[n].variable[m]} timestamp "); break; default: logger.Error($"unknown data {sheets[n].type[m]}"); break; } - tableDatas += sheets[n].variable[m]; + tableDatas.Append(sheets[n].variable[m]); } - newTableQuery += ");\n"; - tableDatas += ") VALUES "; + newTableQuery.Append(");\n"); + tableDatas.Append(") VALUES "); bool isStart = true; - query += newTableQuery; + query.Append(newTableQuery.ToString()); #endregion #region 신규 테이블 데이터 올리기 - query += header2; - query += sheets[n].name; - query += tableDatas; + query.Append(header2); + query.Append(sheets[n].name); + query.Append(tableDatas.ToString()); foreach(KeyValuePair> pair in sheets[n].dicViewer) { if (isStart) @@ -119,16 +119,16 @@ namespace Server.Git } else { - query += ", "; + query.Append(", "); } - query += "("; + query.Append("("); for (int m = 0; m < sheets[n].variable.Count; m++) { if (sheets[n].dataEnum[m] == "client") continue; if (m != 0) { - query += ", "; + query.Append(", "); } switch (sheets[n].type[m]) @@ -138,27 +138,27 @@ namespace Server.Git case "int": case "float": case "long": - query += $"{pair.Value[sheets[n].variable[m]]}"; + query.Append($"{pair.Value[sheets[n].variable[m]]}"); break; case "string": case "json": case "text": - query += $"'{pair.Value[sheets[n].variable[m]]}'"; + query.Append($"'{pair.Value[sheets[n].variable[m]]}'"); break; case "time": - query += $"'{((DateTime)pair.Value[sheets[n].variable[m]]).ToString("yyyy-MM-dd HH:mm:ss")}'"; + query.Append($"'{((DateTime)pair.Value[sheets[n].variable[m]]).ToString("yyyy-MM-dd HH:mm:ss")}'"); break; default: logger.Error($"unknown data value {sheets[n].type[m]}"); break; } } - query += ")"; + query.Append(")"); } - query += ";"; + query.Append(";"); #endregion } - ExecuteNonQuery(connection, query); + ExecuteNonQuery(connection, query.ToString()); #endregion }