Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Data;
- using MySql.Data.MySqlClient;
- namespace JabboServer.MySQL
- {
- class DatabaseManager
- {
- private DatabaseInfo mInfo;
- private MySqlConnection Connection;
- private MySqlCommand Command;
- internal DatabaseInfo GetInfo
- {
- get
- {
- return mInfo;
- }
- }
- internal DatabaseManager()
- {
- mInfo = new DatabaseInfo();
- }
- internal Boolean IsAlive
- {
- get
- {
- if (Connection == null)
- {
- return false;
- }
- else if (Connection != null)
- {
- return (Connection.Ping());
- }
- return false;
- }
- }
- internal void Initialize()
- {
- Connection = new MySqlConnection(mInfo.GenerateShort);
- try
- {
- Connection.Open();
- }
- catch (Exception e)
- {
- JabboEnvironment.GetLogging().WriteLine("MySQL : " + e, Core.MessageId.Error);
- return;
- }
- if (IsAlive)
- {
- Command = Connection.CreateCommand();
- Command.Prepare();
- JabboEnvironment.GetLogging().WriteLine("MySQL Server Info: " + Connection.ServerVersion);
- }
- else
- {
- JabboEnvironment.GetLogging().WriteLine("MySQL Opened, but not alive!");
- }
- }
- internal void Dispose()
- {
- if (IsAlive)
- {
- Connection.Close();
- Connection = null;
- }
- if (Command != null)
- {
- Command.Dispose();
- Command = null;
- }
- }
- internal void AddParamWithValue(Object e, string Parameter)
- {
- Command.Parameters.AddWithValue(Parameter, e);
- }
- internal void Execute(string CommandTxt)
- {
- Command.CommandText = CommandTxt;
- Command.ExecuteScalar();
- Command.CommandText = "";
- Command.Parameters.Clear();
- }
- internal String ReadString(string CommandTxt)
- {
- Command.CommandText = CommandTxt;
- string Result = Command.ExecuteReader().ToString();
- Command.CommandText = "";
- Command.Parameters.Clear();
- return Result;
- }
- internal Int32 ReadInt(string CommandTxt)
- {
- Command.CommandText = CommandTxt;
- Int32 Result = int.Parse(Command.ExecuteReader().ToString());
- Command.CommandText = "";
- Command.Parameters.Clear();
- return Result;
- }
- internal DataTable ReadDataTable(string CommandTxt)
- {
- var Data = new DataTable();
- Command.CommandText = CommandTxt;
- using (MySqlDataAdapter Adapter = new MySqlDataAdapter(Command))
- {
- Adapter.Fill(Data);
- }
- Command.CommandText = "";
- Command.Parameters.Clear();
- return (DataTable)Data;
- }
- internal DataRow ReadDataRow(string CommandTxt)
- {
- var Data = ReadDataTable(CommandTxt);
- if (Data != null && Data.Rows.Count > 0)
- {
- return (DataRow)Data.Rows[0];
- }
- return null;
- }
- }
- #region Info
- class DatabaseInfo
- {
- private string mHost;
- private uint mPort;
- private string mUsername;
- private string mPassword;
- private string mDatabase;
- internal DatabaseInfo() { }
- internal void Parse(
- string Host,
- uint Port,
- string Username,
- string Password,
- string Database)
- {
- mHost = Host;
- mPort = Port;
- mUsername = Username;
- mPassword = Password;
- mDatabase = Database;
- }
- internal string GenerateShort
- {
- get
- {
- MySqlConnectionStringBuilder Builder = new MySqlConnectionStringBuilder();
- Builder.Server = mHost;
- Builder.Port = mPort;
- Builder.UserID = mUsername;
- Builder.Password = mPassword;
- Builder.Database = mDatabase;
- return Convert.ToString(Builder);
- }
- }
- }
- #endregion
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement