// // My Method in MySQL Class // public string[] getOnlinePlayers() { List result = new List(); string Query = "SELECT * FROM `characters` WHERE `online` = '1' ORDER BY `acct` ASC"; MySqlCommand onlinePlayerList = new MySqlCommand(Query, this.sqlConn); onlinePlayerList.ExecuteNonQuery(); MySqlDataReader myReader = onlinePlayerList.ExecuteReader(); while (myReader.Read()) { StringBuilder Output = new StringBuilder(); Output.Append(myReader["name"] + " - "); switch ((int)myReader["gender"]) { case 0: Output.Append("Male - "); break; case 1: Output.Append("Female - "); break; } Output.Append("Level " + myReader["level"]); switch ((int)myReader["race"]) { case 1: Output.Append("Human Race - "); break; case 2: Output.Append("Orc Race - "); break; case 3: Output.Append("Dwarf Race - "); break; case 4: Output.Append("Night Elf Race - "); break; case 5: Output.Append("Undead Race - "); break; case 6: Output.Append("Tauren Race - "); break; case 7: Output.Append("Gnome Race - "); break; case 8: Output.Append("Troll Race - "); break; case 9: Output.Append("Goblin Race - "); break; case 10: Output.Append("Blood Elf Race - "); break; case 11: Output.Append("Draenei Race - "); break; default: Output.Append("Unknown Race - "); break; } switch ((int)myReader["class"]) { case 1: Output.Append("Warrior Class - "); break; case 2: Output.Append("Paladin Class - "); break; case 3: Output.Append("Hunter Class - "); break; case 4: Output.Append("Rogue Class - "); break; case 5: Output.Append("Priest Class - "); break; case 7: Output.Append("Shaman Class - "); break; case 8: Output.Append("Mage Class - "); break; case 9: Output.Append("Warlock Class - "); break; case 11: Output.Append("Druid Class - "); break; default: Output.Append("Unknown Class - "); break; } switch ((int)myReader["mapId"]) { case 0: Output.Append("At Azeroth"); break; case 1: Output.Append("At Kalimdor"); break; case 2: Output.Append("At UnderMine"); break; case 13: Output.Append("At Test zone"); break; case 17: Output.Append("At Kalidar"); break; case 30: Output.Append("At Alterac Valley"); break; case 33: Output.Append("At Shadowfang Keep"); break; case 34: Output.Append("At The Stockade"); break; case 35: Output.Append("At Stormwind Prison"); break; case 36: Output.Append("At Deadmines"); break; case 37: Output.Append("At Plains of Snow"); break; case 43: Output.Append("At Wailing Caverns"); break; case 44: Output.Append("At Monastery Interior"); break; case 47: Output.Append("At Razorfen Kraul"); break; case 48: Output.Append("At Blackfathom Deeps"); break; case 70: Output.Append("At Uldaman"); break; case 90: Output.Append("At Gnomeregan"); break; case 109: Output.Append("At Sunken Temple"); break; case 129: Output.Append("At Razorfen Downs"); break; case 169: Output.Append("At Emerald Forest"); break; case 189: Output.Append("At Scarlet Monastery"); break; case 209: Output.Append("At Zul'Farrak"); break; case 229: Output.Append("At Blackrock Spire"); break; case 230: Output.Append("At Blackrock Depths"); break; case 249: Output.Append("At Onyxias Lair"); break; case 269: Output.Append("At Caverns of Time"); break; case 289: Output.Append("At Scholomance"); break; case 309: Output.Append("At Zul'Gurub"); break; case 329: Output.Append("At Stratholme"); break; case 349: Output.Append("At Maraudon"); break; case 369: Output.Append("At Deeprun Tram"); break; case 389: Output.Append("At Ragefire Chasm"); break; case 409: Output.Append("At The Molten Core"); break; case 429: Output.Append("At Dire Maul"); break; case 449: Output.Append("At Alliance PVP Barracks"); break; case 450: Output.Append("At Horde PVP Barracks"); break; case 451: Output.Append("At Development Land"); break; case 469: Output.Append("At Blackwing Lair"); break; case 489: Output.Append("At Warsong Gulch"); break; case 509: Output.Append("At Ruins of Ahn'Qiraj"); break; case 529: Output.Append("At Arathi Basin"); break; case 530: Output.Append("At Burning Crusade Zones"); break; case 531: Output.Append("At Temple of Ahn'Qiraj"); break; case 532: Output.Append("At Karazhan"); break; case 533: Output.Append("At Naxxramas"); break; case 534: Output.Append("At Hyjal Past"); break; case 540: Output.Append("At Shattered Halls"); break; case 542: Output.Append("At Blood Furnace"); break; case 543: Output.Append("At Hellfire Ramparts"); break; case 544: Output.Append("At Magtheridon's Lair"); break; case 545: Output.Append("At The Steamvault"); break; case 546: Output.Append("At The Black Temple"); break; case 547: Output.Append("At The Slave Pens"); break; case 548: Output.Append("At Coilfang Resevoir"); break; case 550: Output.Append("At The Eye"); break; case 552: Output.Append("At The Arcatraz"); break; case 553: Output.Append("At The Botanica"); break; case 554: Output.Append("At The Mechanar"); break; case 555: Output.Append("At Shadow Labyrinth"); break; case 556: Output.Append("At Sethekk Halls"); break; case 557: Output.Append("At Mana-Tombs"); break; case 558: Output.Append("At Auchenai Crypts"); break; case 559: Output.Append("At Nagrand Arena"); break; case 560: Output.Append("At Hillsbrad Past"); break; case 562: Output.Append("At Blade's Edge Arena"); break; case 564: Output.Append("At Black Temple"); break; case 565: Output.Append("At Gruul's Lair"); break; case 566: Output.Append("At Eye of the Storm"); break; case 568: Output.Append("At Zul'aman"); break; default: Output.Append("At Unknown Location"); break; } result.Add(Output.ToString()); } myReader.Close(); return result.ToArray(); } // // Usage // private void refreshOnlinePlayerList() { onlinePlayerList.Items.Clear(); MySQL db = new MySQL(Settings.Default.sqlHost, Settings.Default.sqlLoginDB, Settings.Default.sqlUser, Settings.Default.sqlPass); db.Connect(); string[] onlinePlayer = db.getOnlinePlayers(); db.Disconnect(); for (int i = 0; i < onlinePlayer.Length; i++) { onlinePlayerList.Items.Add(onlinePlayer[i]); } } private void onlinePlayersTab_Enter(object sender, EventArgs e) { refreshOnlinePlayerList(); }