public static void InsertVulnData(Vuln vuln) { /* * DB에 취약점 데이터가 이미 있는지 검사해야함 * */ Conn.Open(); }
public static void InsertVulnData(Vuln vuln) { String sql = string.Empty; MySqlCommand cmd = null; // vulnId setting (마지막 vulnId +1) int last_vulnId = 1; try { sql = "select max(vulnId) from vulnInfo"; cmd = new MySqlCommand(sql, Conn); last_vulnId = (Convert.ToInt32(cmd.ExecuteScalar())) + 1; } catch (Exception) { last_vulnId = 1; } Retry: //DB insert try { sql = "INSERT INTO vulnInfo(vulnId, lenBlock, cve, funcName, numBlock, codeOriBefore, codeOriAfter, codeAbsBefore, codeAbsAfter, blockHash) " + $"VALUES({last_vulnId}, {vuln.LenBlock}, '{vuln.Cve}', '{vuln.FuncName}', {vuln.NumBlock}, '{vuln.CodeOriBefore}', '{vuln.CodeOriAfter}', '{vuln.CodeAbsBefore}', '{vuln.CodeAbsAfter}', '{vuln.BlockHash}')"; Console.WriteLine(sql); cmd = new MySqlCommand(sql, Conn); cmd.ExecuteNonQuery(); } catch (Exception e) { Console.WriteLine(e.ToString()); string es = e.ToString(); if (es.Contains("Connection must be valid and open")) { Connect(Account, DbName); goto Retry; } Console.ReadLine(); } }