diff options
Diffstat (limited to 'spedytor/MySQL.cs')
-rw-r--r-- | spedytor/MySQL.cs | 86 |
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); + } + } +} |