using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using MySql; using MySql.Data.MySqlClient; namespace Blizzard { public class InternalSQL { private static string mConnectionForm = ""; internal static MySqlConnection mConnection; public static bool Connected = false; public static void Connect(string Host, string User, string Pass, string Name) { mConnectionForm = "Database=" + Name + ";Data Source=" + Host + ";User Id=" + User + ";Password=" + Pass; try { mConnection = new MySqlConnection(mConnectionForm); mConnection.Open(); mConnection.Close(); Connected = true; BlizzardSystem.WriteLine("Blizzard connect to internet!"); } catch { Connected = false; Console.ForegroundColor = ConsoleColor.Red; BlizzardSystem.WriteLine("iEmulator can verify the internet connection, try later..."); } } public static void ConnectWithForm(string Host, string User, string Pass, string Name) { mConnectionForm = "Database=" + Name + ";Data Source=" + Host + ";User Id=" + User + ";Password=" + Pass; try { mConnection = new MySqlConnection(mConnectionForm); mConnection.Open(); mConnection.Close(); Connected = true; } catch { Connected = false; } } public static bool TestConnect(string Host, string User, string Pass, string Name) { bool Completed = false; mConnectionForm = "Database=" + Name + ";Data Source=" + Host + ";User Id=" + User + ";Password=" + Pass; try { mConnection = new MySqlConnection(mConnectionForm); mConnection.Open(); mConnection.Close(); Completed = true; } catch { Completed = false; } return Completed; } public static void ExecuteQuery(string query) { MySqlCommand mCommand = new MySqlCommand(); try { mCommand.Connection = mConnection; mCommand.CommandText = query; mConnection.Open(); mCommand.ExecuteNonQuery(); } catch { BlizzardSystem.WriteLine("SQL don't work:"); BlizzardSystem.WriteLine(query); } finally { mConnection.Close(); mCommand.Parameters.Clear(); mCommand.Connection.Close(); } } public static Int32 ReadInt32(string query) { MySqlCommand mCommand = new MySqlCommand(); int tmpResult = 0; try { mCommand.Connection = mConnection; mCommand.CommandText = query; mConnection.Open(); tmpResult = Convert.ToInt32(mCommand.ExecuteScalar().ToString()); } catch { } finally { mConnection.Close(); mCommand.Parameters.Clear(); mCommand.Connection.Close(); } return tmpResult; } public static string ReadString(string query) { MySqlCommand mCommand = new MySqlCommand(); string tmpResult = ""; try { mCommand.Connection = mConnection; mCommand.CommandText = query; mConnection.Open(); tmpResult = mCommand.ExecuteScalar().ToString(); } catch { } finally { mConnection.Close(); mCommand.Parameters.Clear(); mCommand.Connection.Close(); } return tmpResult; } public static void AddParamWithValue(string Param, object value) { MySqlCommand mCommand = new MySqlCommand(); mCommand.Parameters.Add(Param, value); } public static DataRow ReadDataRow(string query) { MySqlCommand mCommand = new MySqlCommand(); MySqlDataAdapter mAdapter; DataSet tmpResult = new DataSet(); DataRow dResult = new DataTable().NewRow(); try { mCommand.Connection = mConnection; mCommand.CommandText = query; mConnection.Open(); mAdapter = new MySqlDataAdapter(mCommand); mAdapter.Fill(tmpResult); dResult = tmpResult.Tables[0].Rows[0]; } catch { } finally { mConnection.Close(); mCommand.Parameters.Clear(); mCommand.Connection.Close(); } return dResult; } public static int QueryCount(string query) { DataRow mRow = InternalSQL.ReadDataRow(query); try { return mRow.Table.Rows.Count; } catch { return 0; } } public static void Kill() { mConnection.Close(); } } }