Advertisement
Guest User

Untitled

a guest
Sep 16th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.80 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. using System.Data;
  7.  
  8. using MySql.Data.MySqlClient;
  9.  
  10. namespace JabboServer.MySQL
  11. {
  12. class DatabaseManager
  13. {
  14. private DatabaseInfo mInfo;
  15. private MySqlConnection Connection;
  16. private MySqlCommand Command;
  17.  
  18. internal DatabaseInfo GetInfo
  19. {
  20. get
  21. {
  22. return mInfo;
  23. }
  24. }
  25.  
  26. internal DatabaseManager()
  27. {
  28. mInfo = new DatabaseInfo();
  29. }
  30.  
  31. internal Boolean IsAlive
  32. {
  33. get
  34. {
  35. if (Connection == null)
  36. {
  37. return false;
  38. }
  39. else if (Connection != null)
  40. {
  41. return (Connection.Ping());
  42. }
  43.  
  44. return false;
  45. }
  46. }
  47.  
  48. internal void Initialize()
  49. {
  50. Connection = new MySqlConnection(mInfo.GenerateShort);
  51.  
  52. try
  53. {
  54. Connection.Open();
  55. }
  56. catch (Exception e)
  57. {
  58. JabboEnvironment.GetLogging().WriteLine("MySQL : " + e, Core.MessageId.Error);
  59. return;
  60. }
  61.  
  62. if (IsAlive)
  63. {
  64. Command = Connection.CreateCommand();
  65. Command.Prepare();
  66.  
  67. JabboEnvironment.GetLogging().WriteLine("MySQL Server Info: " + Connection.ServerVersion);
  68. }
  69. else
  70. {
  71. JabboEnvironment.GetLogging().WriteLine("MySQL Opened, but not alive!");
  72. }
  73. }
  74.  
  75. internal void Dispose()
  76. {
  77. if (IsAlive)
  78. {
  79. Connection.Close();
  80. Connection = null;
  81. }
  82.  
  83. if (Command != null)
  84. {
  85. Command.Dispose();
  86. Command = null;
  87. }
  88. }
  89.  
  90. internal void AddParamWithValue(Object e, string Parameter)
  91. {
  92. Command.Parameters.AddWithValue(Parameter, e);
  93. }
  94.  
  95. internal void Execute(string CommandTxt)
  96. {
  97. Command.CommandText = CommandTxt;
  98. Command.ExecuteScalar();
  99. Command.CommandText = "";
  100. Command.Parameters.Clear();
  101. }
  102.  
  103. internal String ReadString(string CommandTxt)
  104. {
  105. Command.CommandText = CommandTxt;
  106. string Result = Command.ExecuteReader().ToString();
  107. Command.CommandText = "";
  108. Command.Parameters.Clear();
  109. return Result;
  110. }
  111.  
  112. internal Int32 ReadInt(string CommandTxt)
  113. {
  114. Command.CommandText = CommandTxt;
  115. Int32 Result = int.Parse(Command.ExecuteReader().ToString());
  116. Command.CommandText = "";
  117. Command.Parameters.Clear();
  118. return Result;
  119. }
  120.  
  121. internal DataTable ReadDataTable(string CommandTxt)
  122. {
  123. var Data = new DataTable();
  124. Command.CommandText = CommandTxt;
  125.  
  126. using (MySqlDataAdapter Adapter = new MySqlDataAdapter(Command))
  127. {
  128. Adapter.Fill(Data);
  129. }
  130.  
  131. Command.CommandText = "";
  132. Command.Parameters.Clear();
  133. return (DataTable)Data;
  134. }
  135.  
  136. internal DataRow ReadDataRow(string CommandTxt)
  137. {
  138. var Data = ReadDataTable(CommandTxt);
  139.  
  140. if (Data != null && Data.Rows.Count > 0)
  141. {
  142. return (DataRow)Data.Rows[0];
  143. }
  144.  
  145. return null;
  146. }
  147. }
  148.  
  149. #region Info
  150. class DatabaseInfo
  151. {
  152. private string mHost;
  153. private uint mPort;
  154. private string mUsername;
  155. private string mPassword;
  156. private string mDatabase;
  157.  
  158. internal DatabaseInfo() { }
  159.  
  160. internal void Parse(
  161. string Host,
  162. uint Port,
  163. string Username,
  164. string Password,
  165. string Database)
  166. {
  167. mHost = Host;
  168. mPort = Port;
  169. mUsername = Username;
  170. mPassword = Password;
  171. mDatabase = Database;
  172. }
  173.  
  174. internal string GenerateShort
  175. {
  176. get
  177. {
  178. MySqlConnectionStringBuilder Builder = new MySqlConnectionStringBuilder();
  179. Builder.Server = mHost;
  180. Builder.Port = mPort;
  181. Builder.UserID = mUsername;
  182. Builder.Password = mPassword;
  183. Builder.Database = mDatabase;
  184.  
  185. return Convert.ToString(Builder);
  186. }
  187. }
  188. }
  189. #endregion
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement