static void Main(string[] args) { DatabaseManager.Initialize(); TcpAccountInfo accInfo = new TcpAccountInfo("root", "123qweasd", "김정현", "Super"); if (DatabaseManager.TryToRegister(accInfo, false)) { Console.WriteLine("root 계정을 추가하였습니다."); } else { Console.WriteLine("root 계정이 이미 있으므로 추가하지 않았습니다."); } TcpLoginInfo loginInfo1 = new TcpLoginInfo("wrong", "123qweasd"); TcpLoginInfo loginInfo2 = new TcpLoginInfo("root", "wrong"); TcpLoginInfo loginInfo3 = new TcpLoginInfo("root", "123qweasd"); Console.WriteLine(DatabaseManager.MatchLoginInfo(loginInfo1).ToString()); Console.WriteLine(DatabaseManager.MatchLoginInfo(loginInfo2).ToString()); Console.WriteLine(DatabaseManager.MatchLoginInfo(loginInfo3).ToString()); TcpDataInsert insert = new TcpDataInsert(); List <DatabaseValues> values = new List <DatabaseValues>(); values.Add(new DatabaseValues("#2000-8-14#", "99".ToSQLString(), "99".ToSQLString(), "99".ToSQLString(), "김정현".ToSQLString(), "1", "1", "1", "1", "1", "1", "1", "1", "1")); values.Add(new DatabaseValues("#2000-8-14#", "99".ToSQLString(), "99".ToSQLString(), "100".ToSQLString(), "김정현".ToSQLString(), "1", "1", "1", "1", "1", "1", "1", "1", "1")); values.Add(new DatabaseValues("#2000-8-14#", "99".ToSQLString(), "99".ToSQLString(), "101".ToSQLString(), "김정현".ToSQLString(), "1", "1", "1", "1", "1", "1", "1", "1", "1")); insert.ColumnsText = ""; insert.TableName = "출석부"; insert.Values = values; Console.WriteLine($"출석부에 {DatabaseManager.DBInsert(insert)}개 줄이 추가됨."); TcpDataUpdate update = new TcpDataUpdate(); update.TableName = "출석부"; update.Setter.Add("[0교시]", "2"); update.Setter.Add("[1교시]", "2"); update.Setter.Add("[2교시]", "2"); update.Setter.Add("[3교시]", "2"); update.Where = "[일자]=#2000-8-14# AND 학년=\"99\" AND 반=\"99\" AND 번호=\"99\""; Console.WriteLine($"출석부에서 {DatabaseManager.DBUpdate(update)}개 줄이 업데이트됨."); TcpDataDelete delete = new TcpDataDelete(); delete.TableName = "[출석부]"; delete.Where = "[일자]=#2000-8-14# AND 학년=\"99\" AND 반=\"99\" AND 번호=\"99\""; Console.WriteLine($"출석부에서 {DatabaseManager.DBDelete(delete)}개 줄이 삭제됨."); DatabaseManager.Close(); }
public static TcpLoginResult MatchLoginInfo(TcpLoginInfo info) { DataSet data = DBSelect("*", "[교사 목록]", $"[교사 ID]={info.ID.ToSQLString()}", null); DataTable mainTable = data.Tables[0]; int rowsCount = mainTable.Rows.Count; if (rowsCount == 0) { return(new TcpLoginResult("", "", "", false, false, false)); } else if (rowsCount > 1) { throw new InvalidOperationException("데이터베이스에 같은 교사 ID가 여러개 있습니다."); } string id = info.ID; string name = mainTable.Rows[0]["성명"].ToString(); string type = mainTable.Rows[0]["계정 구분"].ToString(); string correctPWHash = mainTable.Rows[0]["PW 해시"].ToString(); bool pwCorrect = PasswordHashManager.ValidatePassword(info.Password, correctPWHash); bool accepted = (bool)mainTable.Rows[0]["가입 허가 여부"]; return(new TcpLoginResult(id, name, type, true, pwCorrect, accepted)); }