summaryrefslogtreecommitdiff
path: root/spedytor/MySQL.cs
diff options
context:
space:
mode:
Diffstat (limited to 'spedytor/MySQL.cs')
-rw-r--r--spedytor/MySQL.cs86
1 files changed, 86 insertions, 0 deletions
diff --git a/spedytor/MySQL.cs b/spedytor/MySQL.cs
new file mode 100644
index 0000000..b0d4c18
--- /dev/null
+++ b/spedytor/MySQL.cs
@@ -0,0 +1,86 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using MySql.Data.MySqlClient;
+
+namespace spedytor
+{
+ public class MySQL
+ {
+ private MySqlConnection conn;
+ private MySqlCommand cmd;
+ private string database;
+
+ public MySQL(string database)
+ {
+ this.database = database;
+ connect();
+ }
+
+ public void connect()
+ {
+ conn = new MySqlConnection((database != "" ? ("Database=" + database + ";") : "")
+ + "Data Source=" + getHost() + ";User Id=" + getUser() + ";Password=" + getPass()
+ + ";Port=" + getPort() + ";charset=utf8;");
+
+ conn.Open();
+ }
+
+ public void close()
+ {
+ try
+ {
+ conn.Close();
+ conn = null;
+ }
+ catch (Exception)
+ {
+ }
+ }
+
+ public bool isOpen()
+ {
+ return conn != null;
+ }
+
+ public static string test()
+ {
+ try
+ {
+ MySqlConnection conn = new MySqlConnection("Data Source=" + getHost() + ";User Id=" + getUser() + ";Password=" + getPass()
+ + ";Port=" + getPort() + ";charset=utf8;");
+ conn.Open();
+ }
+ catch (MySqlException e)
+ {
+ return e.Message;
+ }
+ catch (Exception e)
+ {
+ return "Prawdopodobnie brakuje Ci dll-ki od MySQL'a.\n\n" + e.Message;
+ }
+ return "";
+ }
+
+ public MySqlDataReader select(string query)
+ {
+ MySqlCommand comm = new MySqlCommand(query, conn);
+ return comm.ExecuteReader();
+ }
+
+ public static string getHost() { return Properties.Settings.Default.HOST; }
+ public static string getUser() { return Properties.Settings.Default.USER; }
+ public static string getPass() { return Properties.Settings.Default.PASS; }
+ public static string getPort() { return Properties.Settings.Default.PORT; }
+ public static bool getConfigured() { return Properties.Settings.Default.CONFIGURED; }
+
+ internal void backup(string filePath)
+ {
+ cmd = new MySqlCommand();
+ cmd.Connection = conn;
+ MySqlBackup backup = new MySqlBackup(cmd);
+ backup.ExportInfo.AddCreateDatabase = true;
+ backup.ExportToFile(filePath);
+ }
+ }
+}