Exemple #1
0
 // 添加一条游戏存档记录
 public static bool Add(Game a)
 {
     try
     {
         DbConnection con = MrOwlDB_SQLserver.GetDbConnection();
         using (con)
         {
             con.Open();
             DbCommand cmd = con.CreateCommand();
             // 添加Quota表
             string sql = "Insert Into Game ([GameName], Step, IsWin, CurrentColor, GameBoardXmlStr,GameWiner,GameModel) " +
                          "Values (@GameName,@Step, @IsWin, @CurrentColor, @GameBoardXmlStr, @GameWiner, @GameModel)";
             cmd.CommandText = sql;
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameName", DbType.AnsiString, 40, a.gameName);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@Step", DbType.Int32, 4, a.step);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@IsWin", DbType.Boolean, 4, a.isWin);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@CurrentColor", DbType.AnsiString, 10, a.CurrentColor);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameBoardXmlStr", DbType.AnsiString, 8000, a.gameBoardXmlStr);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameWiner", DbType.AnsiString, 10, a.Winer.Color);
             MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameModel", DbType.AnsiString, 20, a.thisGameModel);
             int rows = cmd.ExecuteNonQuery();
             // 获得Expense表新添加记录的ID
             cmd.CommandText = "Select @@Identity";
             return(true);
         }
     }
     catch (System.Exception ex)
     {
         MessageBox.Show("GameUtil.Add函数失败:" + ex.Message);
         return(false);
     }
 }
Exemple #2
0
 //获取所有的游戏存档
 public static DataTable GetAllGame()
 {
     try
     {
         DbConnection con = MrOwlDB_SQLserver.GetDbConnection();;
         using (con)
         {
             con.Open();
             DbCommand cmd = con.CreateCommand();
             string    sql = "Select GameID,GameName From Game";
             DataTable dt  = new DataTable("Game");
             cmd.CommandText = sql;
             using (DbDataReader dr = cmd.ExecuteReader())
             {
                 dt.Load(dr);
             }
             return(dt);
         }
     }
     catch (System.Exception ex)
     {
         MessageBox.Show("GameUtil.GetAllGame函数失败:" + ex.Message);
         return(null);
     }
 }
Exemple #3
0
 // 测试数据库连接是否成功
 public static bool TestConnection()
 {
     try
     {
         DbConnection con = MrOwlDB_SQLserver.GetDbConnection();
         using (con)
         {
             con.Open();
             return(true);
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
         return(false);
     }
 }
Exemple #4
0
        // 删除一条游戏存档
        public static bool Delete(int gameId)
        {
            try
            {
                DbConnection con = MrOwlDB_SQLserver.GetDbConnection();
                using (con)
                {
                    con.Open();
                    DbCommand cmd = con.CreateCommand();

                    // 删除Airport表
                    cmd.CommandText = "Delete From Game Where GameID = @GameID";
                    MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameID", DbType.Int32, 4, gameId);
                    cmd.ExecuteNonQuery();

                    return(true);
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("ProjectUtil.Delete函数失败:" + ex.Message);
                return(false);
            }
        }
Exemple #5
0
        // 获得一条游戏存档记录
        public static bool GetAt(int gameId, ref Game game)
        {
            try
            {
                DbConnection con = MrOwlDB_SQLserver.GetDbConnection();;
                using (con)
                {
                    con.Open();
                    string    sql = "Select * From Game Where GameID = @GameID";
                    DbCommand cmd = MrOwlDB_SQLserver.GetDbCommand(sql, con);
                    MrOwlDB_SQLserver.AddCmdParameter(cmd, "@GameID", DbType.Int32, 4, gameId);
                    using (DbDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.Read())
                        {
                            game.gameID          = Convert.ToInt32(dr["GameID"]);
                            game.gameName        = dr["GameName"].ToString();
                            game.step            = Convert.ToInt32(dr["Step"]);
                            game.isWin           = Convert.ToBoolean(dr["IsWin"]);
                            game.gameBoardXmlStr = dr["GameBoardXmlStr"].ToString();
                            string[][] tmp;
                            tmp = GameUtil.XMLStrToErWeiArray(game.gameBoardXmlStr);
                            game.gameBoard.Entity = game.gameBoard.StringArrayToGameBoardEnity(tmp);
                            switch (dr["CurrentColor"].ToString())
                            {
                            case "Black":
                                game.CurrentColor = ChessPieceType.Black;
                                break;

                            case "White":
                                game.CurrentColor = ChessPieceType.White;
                                break;

                            case "None":
                                game.CurrentColor = ChessPieceType.None;
                                break;
                            }
                            switch (dr["GameWiner"].ToString())
                            {
                            case "Black":
                                game.Winer = game.playerBlack;
                                break;

                            case "White":
                                game.Winer = game.playerWhite;
                                break;

                            case "None":
                                game.Winer = new Player(ChessPieceType.None);
                                break;
                            }
                            IPAddress ipadd;
                            string    localip = "";
                            if (MrOwlLibrary.NetWork.MrOwlNetWork.GetLocalIP(out ipadd))
                            {
                                localip = ipadd.ToString();
                            }
                            switch (dr["GameModel"].ToString())
                            {
                            case "DoubleOffLine":
                                game.thisGameModel = GameModel.DoubleOffLine;
                                game.playerWhite   = new Player(localip, "白方选手", ChessPieceType.White);
                                game.playerBlack   = new Player(localip, "黑方选手", ChessPieceType.Black);
                                break;

                            case "Online":
                                game.thisGameModel = GameModel.Online;
                                break;

                            case "SingleAgainsComputer":
                                game.thisGameModel = GameModel.SingleAgainsComputer;
                                game.playerBlack   = new Player(localip, "电脑", ChessPieceType.Black);
                                game.playerWhite   = new Player(localip, "Me", ChessPieceType.White);
                                break;
                            }
                        }
                    }
                    return(true);
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show("GameUtil.GetAt函数失败:" + ex.Message);
                return(false);
            }
        }