private void GetItemsDataSet(object mangosDB) { string SQL = "SELECT entry,name FROM item_template;"; MyReceiverInvoke mi = new MyReceiverInvoke(invokeDataGridView); MySqlConnection Conn = new MySqlConnection(sManager.GetConnStr()); MySqlCommand chgDB = new MySqlCommand("USE " + mangosDB.ToString() + ";", Conn); MySqlCommand setname = new MySqlCommand("set names 'gbk';", Conn); MySqlDataAdapter adp = new MySqlDataAdapter(SQL, Conn); try { this.Invoke(mi, new object[] { 1, "正在读取物品信息..." }); Conn.Open(); setname.ExecuteNonQuery(); setname.Dispose(); chgDB.ExecuteNonQuery(); chgDB.Dispose(); ItemsSet = new DataSet(); adp.Fill(ItemsSet); adp.Dispose(); if (ItemsSet.Tables[0].Rows.Count == 0) { throw new Exception("没有找到任何物品!"); } this.Invoke(mi, new object[] { 2, string.Empty }); } catch (Exception err) { this.Invoke(mi, new object[] { 0, err.Message }); } finally { Conn.Close(); } }
public void GetReceiverDataSet(object Database) { int splitPos = Database.ToString().IndexOf("|"); string accountDatabase = Database.ToString().Substring(0, splitPos); string charactersDatabase = Database.ToString().Substring(splitPos + 1, Database.ToString().Length - splitPos - 1); string SQL = "SELECT id,username FROM account;"; MyReceiverInvoke mi = new MyReceiverInvoke(invokeDataGridView); MySqlConnection Conn = new MySqlConnection(sManager.GetConnStr()); MySqlCommand setname = new MySqlCommand("set names 'gbk';", Conn); MySqlCommand chgDB = new MySqlCommand("USE " + accountDatabase.ToString() + ";", Conn); MySqlDataAdapter adp = new MySqlDataAdapter(SQL, Conn); try { this.Invoke(mi, new object[] { 1, "正在读取账号信息..." }); Conn.Open(); setname.ExecuteNonQuery(); setname.Dispose(); chgDB.ExecuteNonQuery(); chgDB.Dispose(); ReceiverAccountSet = new DataSet(); adp.Fill(ReceiverAccountSet); adp.Dispose(); if (ReceiverAccountSet.Tables[0].Rows.Count > 0) { this.Invoke(mi, new object[] { 1, "正在读取对应角色信息..." }); chgDB = new MySqlCommand("USE " + charactersDatabase.ToString() + ";", Conn); chgDB.ExecuteNonQuery(); chgDB.Dispose(); ReceiverListSet = new DataSet(); ReceiverListSet.Tables.Add("Receivers"); ReceiverListSet.Tables[0].Columns.Add("AccountID"); ReceiverListSet.Tables[0].Columns.Add("AccountName"); ReceiverListSet.Tables[0].Columns.Add("CharacterID"); ReceiverListSet.Tables[0].Columns.Add("CharacterName"); } else { throw new Exception("没有找到任何账号!"); } int CurrentAccount = 1; int TotalAccount = ReceiverAccountSet.Tables[0].Rows.Count; for (int i = 0; i < ReceiverAccountSet.Tables[0].Rows.Count; i++) { this.Invoke(mi, new object[] { 1, "正在读取对应角色信息..." + i.ToString() + "/" + TotalAccount.ToString() }); adp = new MySqlDataAdapter("SELECT guid,name FROM characters WHERE account ='" + ReceiverAccountSet.Tables[0].Rows[i]["id"].ToString() + "';", Conn); DataSet CurrentCharacter = new DataSet(); adp.Fill(CurrentCharacter); if (CurrentCharacter.Tables[0].Rows.Count > 0) { for (int cCharacter = 0; cCharacter < CurrentCharacter.Tables[0].Rows.Count; cCharacter++) { ReceiverListSet.Tables[0].Rows.Add(new object[] { ReceiverAccountSet.Tables[0].Rows[i]["id"].ToString(), ReceiverAccountSet.Tables[0].Rows[i]["username"].ToString(), CurrentCharacter.Tables[0].Rows[cCharacter]["guid"].ToString(), CurrentCharacter.Tables[0].Rows[cCharacter]["name"].ToString() }); } CurrentAccount++; } } if (CurrentAccount == 1) { this.Invoke(mi, new object[] { 1, "没有找到任何角色!" }); } else { this.Invoke(mi, new object[] { 2, string.Empty }); } } catch (Exception err) { this.Invoke(mi, new object[] { 0, err.Message }); } finally { Conn.Close(); } }
public void GetReceiverDataSet(object Database) { int splitPos = Database.ToString().IndexOf("|"); string accountDatabase = Database.ToString().Substring(0, splitPos); string charactersDatabase = Database.ToString().Substring(splitPos + 1, Database.ToString().Length - splitPos - 1); string SQL = "SELECT id,username FROM account;"; MyReceiverInvoke mi = new MyReceiverInvoke(invokeDataGridView); MySqlConnection Conn = new MySqlConnection(sManager.GetConnStr()); MySqlCommand setname = new MySqlCommand("set names 'gbk';", Conn); MySqlCommand chgDB = new MySqlCommand("USE " + accountDatabase.ToString() + ";", Conn); MySqlDataAdapter adp = new MySqlDataAdapter(SQL, Conn); try { this.Invoke(mi, new object[] { 1, "正在读取账号信息..." }); Conn.Open(); setname.ExecuteNonQuery(); setname.Dispose(); chgDB.ExecuteNonQuery(); chgDB.Dispose(); ReceiverAccountSet = new DataSet(); adp.Fill(ReceiverAccountSet); adp.Dispose(); if (ReceiverAccountSet.Tables[0].Rows.Count > 0) { this.Invoke(mi, new object[] { 1, "正在读取对应角色信息..." }); chgDB = new MySqlCommand("USE " + charactersDatabase.ToString() + ";", Conn); chgDB.ExecuteNonQuery(); chgDB.Dispose(); ReceiverListSet = new DataSet(); ReceiverListSet.Tables.Add("Receivers"); ReceiverListSet.Tables[0].Columns.Add("AccountID"); ReceiverListSet.Tables[0].Columns.Add("AccountName"); ReceiverListSet.Tables[0].Columns.Add("CharacterID"); ReceiverListSet.Tables[0].Columns.Add("CharacterName"); } else { throw new Exception("没有找到任何账号!"); } int CurrentAccount = 1; int TotalAccount = ReceiverAccountSet.Tables[0].Rows.Count; for (int i = 0; i < ReceiverAccountSet.Tables[0].Rows.Count; i++) { this.Invoke(mi, new object[] { 1, "正在读取对应角色信息..." + i.ToString() + "/" + TotalAccount.ToString() }); adp = new MySqlDataAdapter("SELECT guid,name FROM characters WHERE account ='"+ReceiverAccountSet.Tables[0].Rows[i]["id"].ToString()+"';", Conn); DataSet CurrentCharacter = new DataSet(); adp.Fill(CurrentCharacter); if (CurrentCharacter.Tables[0].Rows.Count > 0) { for (int cCharacter = 0; cCharacter < CurrentCharacter.Tables[0].Rows.Count; cCharacter++) { ReceiverListSet.Tables[0].Rows.Add(new object[] { ReceiverAccountSet.Tables[0].Rows[i]["id"].ToString(), ReceiverAccountSet.Tables[0].Rows[i]["username"].ToString(), CurrentCharacter.Tables[0].Rows[cCharacter]["guid"].ToString(), CurrentCharacter.Tables[0].Rows[cCharacter]["name"].ToString() }); } CurrentAccount++; } } if (CurrentAccount == 1) { this.Invoke(mi, new object[] { 1, "没有找到任何角色!" }); } else { this.Invoke(mi, new object[] { 2, string.Empty }); } } catch (Exception err) { this.Invoke(mi, new object[] { 0, err.Message }); } finally { Conn.Close(); } }