/// <summary> /// 更新库存方法 /// </summary> /// <param name="num">用户输入</param> /// <param name="key">主键</param> /// <param name="b">true为增加,false为减少</param> private void updateReserve(double num, int key) { if (num == 0) { return; } string sql_SelectReserve = "SELECT d_reserve FROM tb_drug WHERE d_id=" + key; double reserve = (double)MySqlTools.ExecuteScalar(sql_SelectReserve); if (reserve - num < 0) { MessageBox.Show(" 该药品剩余库存为:" + reserve + "\n 库存不足,请尽快补货!", "温馨提示"); } else { string sql_updateReserve = string.Format("UPDATE tb_drug SET d_reserve={0} WHERE d_id={1}", reserve - num, key); // sql_select_r_price = "SELECT d_r_price FROM tb_drug WHERE d_id=" + key; //double money =num*(double)MySqlTools.ExecuteScalar(sql_select_r_price); if (MySqlTools.ExecuteNonQuery(sql_updateReserve) == 1) { MessageBox.Show("出库成功!", "温馨提示"); } else { MessageBox.Show("出库失败!", "温馨提示"); } } //} }
/// <summary> /// 登录按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_login_Click(object sender, EventArgs e) { string pwd = tb_pwd.Text; string sql = string.Format("SELECT * FROM tb_pwd WHERE pwd='{0}'", pwd); try { if ((int)MySqlTools.ExecuteScalar(sql) == 1) { panl_Login.Visible = false; } } catch (Exception) { MessageBox.Show("您的密码输入有误,请重新输入!", "温馨提示"); } }
private void GenerateRanking(uint id) { var rankingVersion = RankingVersionPivot.Get(id); if (rankingVersion == null) { throw new ArgumentException(Messages.RankingRulesetNotFoundException, nameof(id)); } // Gets the latest monday with a computed ranking. var startDate = MySqlTools.ExecuteScalar(GlobalAppConfig.GetConnectionString(), "SELECT MAX(date) FROM ranking WHERE version_id = @version", RankingVersionPivot.OPEN_ERA_BEGIN, new MySqlParameter("@version", MySqlDbType.UInt32) { Value = id }); // Monday one day after the latest tournament played (always a sunday). var dateStop = (EditionPivot.GetLatestEditionDateEnding() ?? startDate).AddDays(1); // Loads matches from the previous year. SqlMapper.LoadMatches((uint)startDate.Year - 1); using (var sqlConnection = new MySqlConnection(GlobalAppConfig.GetConnectionString())) { sqlConnection.Open(); using (var sqlCommand = sqlConnection.CreateCommand()) { sqlCommand.CommandText = MySqlTools.GetSqlInsertStatement("ranking", new List <string> { "player_id", "date", "points", "ranking", "version_id", "editions" }); sqlCommand.Parameters.Add("@player_id", MySqlDbType.UInt32); sqlCommand.Parameters.Add("@date", MySqlDbType.DateTime); sqlCommand.Parameters.Add("@points", MySqlDbType.UInt32); sqlCommand.Parameters.Add("@ranking", MySqlDbType.UInt32); sqlCommand.Parameters.Add("@version_id", MySqlDbType.UInt32); sqlCommand.Parameters.Add("@editions", MySqlDbType.UInt32); sqlCommand.Prepare(); // Static. sqlCommand.Parameters["@version_id"].Value = id; // Puts in cache the triplet player/edition/points, no need to recompute each week. var cachePlayerEditionPoints = new Dictionary <KeyValuePair <PlayerPivot, EditionPivot>, uint>(); // For each week until latest date. startDate = startDate.AddDays(7); while (startDate <= dateStop) { // Loads matches from the current year (do nothing if already done). SqlMapper.LoadMatches((uint)startDate.Year); var playersRankedThisWeek = rankingVersion.ComputePointsForPlayersInvolvedAtDate(startDate, cachePlayerEditionPoints); // Static for each player. sqlCommand.Parameters["@date"].Value = startDate; // Inserts each player. int rank = 1; foreach (var player in playersRankedThisWeek.Keys) { sqlCommand.Parameters["@player_id"].Value = player.Id; sqlCommand.Parameters["@points"].Value = playersRankedThisWeek[player].Item1; sqlCommand.Parameters["@editions"].Value = playersRankedThisWeek[player].Item2; sqlCommand.Parameters["@ranking"].Value = rank; sqlCommand.ExecuteNonQuery(); rank++; } startDate = startDate.AddDays(7); } } } }