Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        public static int DBInsert(TcpDataInsert dataInsert)
        {
            if (dataInsert == null)
            {
                throw new ArgumentNullException(nameof(dataInsert));
            }

            string       sql;
            OleDbCommand cmd = new OleDbCommand();

            cmd.Connection = mConnection;
            int sum = 0;

            if (string.IsNullOrWhiteSpace(dataInsert.ColumnsText))
            {
                foreach (DatabaseValues values in dataInsert.Values)
                {
                    sql = $"INSERT INTO {dataInsert.TableName} VALUES {values.ToString()}";

                    cmd.CommandText = sql;

                    lock (LOCKER)
                    {
                        sum += cmd.ExecuteNonQuery();
                    }
                }
            }
            else
            {
                foreach (DatabaseValues values in dataInsert.Values)
                {
                    sql = $"INSERT INTO {dataInsert.TableName} {dataInsert.ColumnsText} VALUES {values.ToString()}";

                    cmd.CommandText = sql;

                    lock (LOCKER)
                    {
                        sum += cmd.ExecuteNonQuery();
                    }
                }
            }

            return(sum);
        }
        private void InsertDefaultAttToServer(DataTable stuList)
        {
            TcpDataInsert insert = new TcpDataInsert();

            insert.TableName   = "출석부";
            insert.ColumnsText = null;

            List <DatabaseValues> values = new List <DatabaseValues>();

            foreach (DataRow row in stuList.Rows)
            {
                values.Add(new DatabaseValues(DateControl.SelectedDate.Value.ToSQLString(),
                                              row["학년"].ToString().ToSQLString(), row["반"].ToString().ToSQLString(), row["번호"].ToString().ToSQLString(), row["성명"].ToString().ToSQLString(),
                                              "1", "1", "1", "1", "1", "1", "1", "1", "1"));
            }

            insert.Values = values;

            ParentWindow.Client.InsertData(insert);
        }
        public bool Import(DataTable table)
        {
            if (table == null)
            {
                throw new ArgumentNullException(nameof(table));
            }

            if (mTable == null)
            {
                return(false);
            }

            bool success = false;

            this.Dispatcher.BeginInvoke((Action)(() =>
            {
                if (IsTableEmpty)
                {
                    mTable.Rows.Clear();
                }

                try
                {
                    TcpDataInsert insert = new TcpDataInsert();
                    insert.TableName = "[학생 명단]";
                    insert.ColumnsText = null;

                    List <DatabaseValues> values = new List <DatabaseValues>();

                    foreach (DataRow row in table.Rows)
                    {
                        DataRow newRow = mTable.NewRow();

                        newRow["학년"] = mCurrentGrade;
                        newRow["반"] = mCurrentClass;
                        newRow["번호"] = row["번호"];
                        newRow["성명"] = row["성명"];
                        newRow["등록날짜"] = (DateTime.Now).ToShortDateString();

                        values.Add(new DatabaseValues(newRow["학년"].ToString().ToSQLString(),
                                                      newRow["반"].ToString().ToSQLString(),
                                                      newRow["번호"].ToString().ToSQLString(),
                                                      newRow["성명"].ToString().ToSQLString(),
                                                      DateTime.Now.ToSQLString()));

                        mTable.Rows.Add(newRow);
                    }

                    insert.Values = values;

                    ParentWindow.Client.InsertData(insert);

                    success = true;
                }
                catch (Exception e)
                {
                    MessageBox.Show($"학생 명단에 데이터를 추가하는데 실패하였습니다...\n\n디버그용 메세지 : {e.Message}\n{e.StackTrace}", "추가 실패", MessageBoxButton.OK, MessageBoxImage.Error);
                    success = false;
                }
            })).Wait();

            return(success);
        }