diff --git a/SQL-Tool/DatabaseWrapper.cs b/SQL-Tool/DatabaseWrapper.cs
new file mode 100644
index 0000000..a002b14
--- /dev/null
+++ b/SQL-Tool/DatabaseWrapper.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Data;
+using System.Text;
+
+namespace SQL_Tool
+{
+ class DatabaseWrapperInvalidQueryException : Exception
+ {
+ public override string Message { get; } = "No message :p";
+
+ public DatabaseWrapperInvalidQueryException() { }
+ public DatabaseWrapperInvalidQueryException(string message)
+ {
+ Message = message;
+ }
+ }
+ abstract class DatabaseWrapper
+ {
+ public abstract ConnectionState State { get; }
+
+ protected DatabaseWrapper() { }
+ protected DatabaseWrapper(string connectionString) { }
+ protected DatabaseWrapper(string host, string database, string username, string password) { }
+
+ public abstract int ExecuteCommand(string sqlStatement);
+ public abstract DataTable ExecuteQuery(string sqlStatement, DataTable dt = null);
+ public abstract long GetExecutionTime();
+
+ public string DataTableToString(DataTable dt)
+ {
+ StringBuilder sb = new StringBuilder();
+ for (int i = 0; i < dt.Columns.Count;i++)
+ {
+ sb.Append(dt.Columns[i] + "\t");
+ }
+ sb.Remove(sb.Length - 1, 1);
+ sb.AppendLine();
+ foreach (DataRow row in dt.Rows)
+ {
+ for (int i = 0; i < dt.Columns.Count; i++)
+ {
+ sb.Append(row[i] + "\t");
+ }
+ sb.Remove(sb.Length - 1, 1);
+ sb.AppendLine();
+ }
+ return sb.ToString();
+ }
+ }
+}
diff --git a/SQL-Tool/Form1.Designer.cs b/SQL-Tool/Form1.Designer.cs
index 2c68702..bec67a1 100644
--- a/SQL-Tool/Form1.Designer.cs
+++ b/SQL-Tool/Form1.Designer.cs
@@ -28,12 +28,270 @@
///
private void InitializeComponent()
{
- this.components = new System.ComponentModel.Container();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.txtPassword = new System.Windows.Forms.TextBox();
+ this.txtUser = new System.Windows.Forms.TextBox();
+ this.txtDatabase = new System.Windows.Forms.TextBox();
+ this.txtServer = new System.Windows.Forms.TextBox();
+ this.btnSave = new System.Windows.Forms.Button();
+ this.label4 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label1 = new System.Windows.Forms.Label();
+ this.groupBox2 = new System.Windows.Forms.GroupBox();
+ this.txtQuery = new System.Windows.Forms.TextBox();
+ this.btnQuery = new System.Windows.Forms.Button();
+ this.label8 = new System.Windows.Forms.Label();
+ this.tabOutput = new System.Windows.Forms.TabControl();
+ this.tabTextdarstellung = new System.Windows.Forms.TabPage();
+ this.txtOutput = new System.Windows.Forms.TextBox();
+ this.tabDataGridView = new System.Windows.Forms.TabPage();
+ this.dataGridOutput = new System.Windows.Forms.DataGridView();
+ this.groupBox1.SuspendLayout();
+ this.groupBox2.SuspendLayout();
+ this.tabOutput.SuspendLayout();
+ this.tabTextdarstellung.SuspendLayout();
+ this.tabDataGridView.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridOutput)).BeginInit();
+ this.SuspendLayout();
+ //
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.txtPassword);
+ this.groupBox1.Controls.Add(this.txtUser);
+ this.groupBox1.Controls.Add(this.txtDatabase);
+ this.groupBox1.Controls.Add(this.txtServer);
+ this.groupBox1.Controls.Add(this.btnSave);
+ this.groupBox1.Controls.Add(this.label4);
+ this.groupBox1.Controls.Add(this.label3);
+ this.groupBox1.Controls.Add(this.label2);
+ this.groupBox1.Controls.Add(this.label1);
+ this.groupBox1.Location = new System.Drawing.Point(12, 12);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(579, 68);
+ this.groupBox1.TabIndex = 0;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Verbindungsinformationen";
+ //
+ // txtPassword
+ //
+ this.txtPassword.Location = new System.Drawing.Point(329, 37);
+ this.txtPassword.Name = "txtPassword";
+ this.txtPassword.PasswordChar = '?';
+ this.txtPassword.Size = new System.Drawing.Size(100, 20);
+ this.txtPassword.TabIndex = 8;
+ this.txtPassword.Text = "schule";
+ //
+ // txtUser
+ //
+ this.txtUser.Location = new System.Drawing.Point(223, 37);
+ this.txtUser.Name = "txtUser";
+ this.txtUser.Size = new System.Drawing.Size(100, 20);
+ this.txtUser.TabIndex = 7;
+ this.txtUser.Text = "schule-ro";
+ //
+ // txtDatabase
+ //
+ this.txtDatabase.Location = new System.Drawing.Point(116, 37);
+ this.txtDatabase.Name = "txtDatabase";
+ this.txtDatabase.Size = new System.Drawing.Size(100, 20);
+ this.txtDatabase.TabIndex = 6;
+ this.txtDatabase.Text = "schule";
+ //
+ // txtServer
+ //
+ this.txtServer.Location = new System.Drawing.Point(10, 37);
+ this.txtServer.Name = "txtServer";
+ this.txtServer.Size = new System.Drawing.Size(100, 20);
+ this.txtServer.TabIndex = 5;
+ this.txtServer.Text = "localhost";
+ //
+ // btnSave
+ //
+ this.btnSave.Image = global::SQL_Tool.Properties.Resources.server_database;
+ this.btnSave.Location = new System.Drawing.Point(435, 20);
+ this.btnSave.Name = "btnSave";
+ this.btnSave.Size = new System.Drawing.Size(138, 37);
+ this.btnSave.TabIndex = 4;
+ this.btnSave.Text = "Save";
+ this.btnSave.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
+ this.btnSave.UseVisualStyleBackColor = true;
+ this.btnSave.Click += new System.EventHandler(this.btnSave_Click);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(326, 20);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(53, 13);
+ this.label4.TabIndex = 3;
+ this.label4.Text = "Password";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(220, 20);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(29, 13);
+ this.label3.TabIndex = 2;
+ this.label3.Text = "User";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(113, 20);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(60, 13);
+ this.label2.TabIndex = 1;
+ this.label2.Text = "Datenbank";
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(7, 20);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(38, 13);
+ this.label1.TabIndex = 0;
+ this.label1.Text = "Server";
+ //
+ // groupBox2
+ //
+ this.groupBox2.Controls.Add(this.txtQuery);
+ this.groupBox2.Controls.Add(this.btnQuery);
+ this.groupBox2.Controls.Add(this.label8);
+ this.groupBox2.Location = new System.Drawing.Point(12, 86);
+ this.groupBox2.Name = "groupBox2";
+ this.groupBox2.Size = new System.Drawing.Size(579, 68);
+ this.groupBox2.TabIndex = 1;
+ this.groupBox2.TabStop = false;
+ this.groupBox2.Text = "Abfrage";
+ //
+ // txtQuery
+ //
+ this.txtQuery.Location = new System.Drawing.Point(10, 19);
+ this.txtQuery.Name = "txtQuery";
+ this.txtQuery.Size = new System.Drawing.Size(419, 20);
+ this.txtQuery.TabIndex = 5;
+ this.txtQuery.Text = "SELECT * FROM klasse";
+ this.txtQuery.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtQuery_KeyPress);
+ //
+ // btnQuery
+ //
+ this.btnQuery.Image = global::SQL_Tool.Properties.Resources.arrow_right;
+ this.btnQuery.Location = new System.Drawing.Point(435, 20);
+ this.btnQuery.Name = "btnQuery";
+ this.btnQuery.Size = new System.Drawing.Size(138, 37);
+ this.btnQuery.TabIndex = 4;
+ this.btnQuery.Text = "Query";
+ this.btnQuery.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
+ this.btnQuery.UseVisualStyleBackColor = true;
+ this.btnQuery.Click += new System.EventHandler(this.btnQuery_Click);
+ //
+ // label8
+ //
+ this.label8.AutoSize = true;
+ this.label8.ForeColor = System.Drawing.Color.LimeGreen;
+ this.label8.Location = new System.Drawing.Point(7, 44);
+ this.label8.Name = "label8";
+ this.label8.Size = new System.Drawing.Size(91, 13);
+ this.label8.TabIndex = 0;
+ this.label8.Text = "Ausführungszeit: -";
+ //
+ // tabOutput
+ //
+ this.tabOutput.Controls.Add(this.tabTextdarstellung);
+ this.tabOutput.Controls.Add(this.tabDataGridView);
+ this.tabOutput.Location = new System.Drawing.Point(13, 161);
+ this.tabOutput.Name = "tabOutput";
+ this.tabOutput.SelectedIndex = 0;
+ this.tabOutput.Size = new System.Drawing.Size(578, 290);
+ this.tabOutput.TabIndex = 2;
+ //
+ // tabTextdarstellung
+ //
+ this.tabTextdarstellung.Controls.Add(this.txtOutput);
+ this.tabTextdarstellung.Location = new System.Drawing.Point(4, 22);
+ this.tabTextdarstellung.Name = "tabTextdarstellung";
+ this.tabTextdarstellung.Padding = new System.Windows.Forms.Padding(3);
+ this.tabTextdarstellung.Size = new System.Drawing.Size(570, 264);
+ this.tabTextdarstellung.TabIndex = 0;
+ this.tabTextdarstellung.Text = "Textdarstellung";
+ this.tabTextdarstellung.UseVisualStyleBackColor = true;
+ //
+ // txtOutput
+ //
+ this.txtOutput.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.txtOutput.Location = new System.Drawing.Point(3, 3);
+ this.txtOutput.Multiline = true;
+ this.txtOutput.Name = "txtOutput";
+ this.txtOutput.Size = new System.Drawing.Size(564, 258);
+ this.txtOutput.TabIndex = 0;
+ //
+ // tabDataGridView
+ //
+ this.tabDataGridView.Controls.Add(this.dataGridOutput);
+ this.tabDataGridView.Location = new System.Drawing.Point(4, 22);
+ this.tabDataGridView.Name = "tabDataGridView";
+ this.tabDataGridView.Padding = new System.Windows.Forms.Padding(3);
+ this.tabDataGridView.Size = new System.Drawing.Size(570, 264);
+ this.tabDataGridView.TabIndex = 1;
+ this.tabDataGridView.Text = "DataGridView";
+ this.tabDataGridView.UseVisualStyleBackColor = true;
+ //
+ // dataGridOutput
+ //
+ this.dataGridOutput.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dataGridOutput.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dataGridOutput.Location = new System.Drawing.Point(3, 3);
+ this.dataGridOutput.Name = "dataGridOutput";
+ this.dataGridOutput.Size = new System.Drawing.Size(564, 258);
+ this.dataGridOutput.TabIndex = 0;
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.Text = "Form1";
+ this.BackColor = System.Drawing.Color.White;
+ this.ClientSize = new System.Drawing.Size(601, 463);
+ this.Controls.Add(this.tabOutput);
+ this.Controls.Add(this.groupBox2);
+ this.Controls.Add(this.groupBox1);
+ this.Name = "Form1";
+ this.Text = "SQL-Tool";
+ this.groupBox1.ResumeLayout(false);
+ this.groupBox1.PerformLayout();
+ this.groupBox2.ResumeLayout(false);
+ this.groupBox2.PerformLayout();
+ this.tabOutput.ResumeLayout(false);
+ this.tabTextdarstellung.ResumeLayout(false);
+ this.tabTextdarstellung.PerformLayout();
+ this.tabDataGridView.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dataGridOutput)).EndInit();
+ this.ResumeLayout(false);
+
}
#endregion
+
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TextBox txtPassword;
+ private System.Windows.Forms.TextBox txtUser;
+ private System.Windows.Forms.TextBox txtDatabase;
+ private System.Windows.Forms.TextBox txtServer;
+ private System.Windows.Forms.Button btnSave;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.GroupBox groupBox2;
+ private System.Windows.Forms.TextBox txtQuery;
+ private System.Windows.Forms.Button btnQuery;
+ private System.Windows.Forms.Label label8;
+ private System.Windows.Forms.TabControl tabOutput;
+ private System.Windows.Forms.TabPage tabTextdarstellung;
+ private System.Windows.Forms.TabPage tabDataGridView;
+ private System.Windows.Forms.TextBox txtOutput;
+ private System.Windows.Forms.DataGridView dataGridOutput;
}
}
diff --git a/SQL-Tool/Form1.cs b/SQL-Tool/Form1.cs
index f17dd3e..3b8d82f 100644
--- a/SQL-Tool/Form1.cs
+++ b/SQL-Tool/Form1.cs
@@ -2,19 +2,72 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
+using System.Diagnostics;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
+using MySql.Data.MySqlClient;
namespace SQL_Tool
{
public partial class Form1 : Form
{
+ private DataTable _dt = new DataTable();
+ private DatabaseWrapper _dbWrapper = null;
+
public Form1()
{
InitializeComponent();
}
+
+ private void btnSave_Click(object sender, EventArgs e)
+ {
+ if (Uri.CheckHostName(txtServer.Text) == UriHostNameType.Unknown)
+ {
+ MessageBox.Show("Server not valid!");
+ return;
+ }
+ try
+ {
+ _dbWrapper = new MySqlWrapper(txtServer.Text, txtDatabase.Text, txtUser.Text, txtPassword.Text);
+ }
+ catch (Exception)
+ {
+ MessageBox.Show("Failed to open connection!");
+ return;
+ }
+
+ }
+
+ private void btnQuery_Click(object sender, EventArgs e)
+ {
+
+ if (_dbWrapper == null || _dbWrapper.State != ConnectionState.Open)
+ {
+ MessageBox.Show("Please provide some connection details :-)");
+ return;
+ }
+ try
+ {
+ _dt = _dbWrapper.ExecuteQuery(txtQuery.Text);
+ txtOutput.Text = _dbWrapper.DataTableToString(_dt);
+ dataGridOutput.DataSource = _dt;
+ label8.Text = $"Ausführungszeit: {_dbWrapper.GetExecutionTime()} ms";
+ }
+ catch (DatabaseWrapperInvalidQueryException ex)
+ {
+ txtOutput.Text = "Exception!\r\nMessage:\r\n" + ex.Message;
+ }
+ }
+
+ private void txtQuery_KeyPress(object sender, KeyPressEventArgs e)
+ {
+ if (e.KeyChar == Convert.ToChar(Keys.Enter))
+ {
+ this.btnQuery_Click(sender, e);
+ }
+ }
}
}
diff --git a/SQL-Tool/Form1.resx b/SQL-Tool/Form1.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/SQL-Tool/Form1.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/SQL-Tool/MySql.Data.dll b/SQL-Tool/MySql.Data.dll
new file mode 100644
index 0000000..678ade8
Binary files /dev/null and b/SQL-Tool/MySql.Data.dll differ
diff --git a/SQL-Tool/MySqlWrapper.cs b/SQL-Tool/MySqlWrapper.cs
new file mode 100644
index 0000000..a7cbb16
--- /dev/null
+++ b/SQL-Tool/MySqlWrapper.cs
@@ -0,0 +1,80 @@
+using System.Data;
+using System.Diagnostics;
+using MySql.Data.MySqlClient;
+
+namespace SQL_Tool
+{
+ class MySqlWrapper : DatabaseWrapper
+ {
+ private MySqlConnection _dbcon = null;
+ private long _execTime;
+
+ public override ConnectionState State => _dbcon.State;
+
+ public MySqlWrapper(string connectionString)
+ {
+ _dbcon = new MySqlConnection(connectionString);
+ }
+
+ public MySqlWrapper(string host, string database, string username, string password)
+ {
+ MySqlConnectionStringBuilder csb = new MySqlConnectionStringBuilder
+ {
+ Server = host,
+ Database = database,
+ UserID = username,
+ Password = password
+ };
+ _dbcon = new MySqlConnection(csb.ToString());
+ _dbcon.Open();
+ System.Console.WriteLine("MySQL version : {0}", _dbcon.ServerVersion);
+ }
+
+ ~MySqlWrapper()
+ {
+ if( _dbcon != null && _dbcon.State == ConnectionState.Open)
+ {
+ _dbcon.Close();
+ }
+ }
+
+ public override int ExecuteCommand(string sqlStatement)
+ {
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ MySqlCommand cmd = new MySqlCommand(sqlStatement, _dbcon);
+ var rv = cmd.ExecuteNonQuery();
+ sw.Stop();
+ _execTime = sw.ElapsedMilliseconds;
+ return rv;
+ }
+
+ public override DataTable ExecuteQuery(string sqlStatement, DataTable dt = null)
+ {
+ if (dt == null)
+ {
+ dt = new DataTable();
+ }
+ Stopwatch sw = new Stopwatch();
+ sw.Start();
+ try
+ {
+ MySqlDataAdapter da = new MySqlDataAdapter(sqlStatement, _dbcon);
+ da.Fill(dt);
+ }
+ catch (MySqlException ex)
+ {
+ throw new DatabaseWrapperInvalidQueryException(ex.Message);
+ }
+ sw.Stop();
+ _execTime = sw.ElapsedMilliseconds;
+ return dt;
+ }
+
+ public override long GetExecutionTime()
+ {
+ return _execTime;
+ }
+
+ }
+}
diff --git a/SQL-Tool/Properties/Resources.Designer.cs b/SQL-Tool/Properties/Resources.Designer.cs
index b31aa7a..8d49d47 100644
--- a/SQL-Tool/Properties/Resources.Designer.cs
+++ b/SQL-Tool/Properties/Resources.Designer.cs
@@ -1,71 +1,93 @@
//------------------------------------------------------------------------------
//
-// Dieser Code wurde von einem Tool generiert.
-// Laufzeitversion: 4.0.30319.42000
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
//
-// Änderungen an dieser Datei können fehlerhaftes Verhalten verursachen und gehen verloren, wenn
-// der Code neu generiert wird.
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
//
//------------------------------------------------------------------------------
-namespace SQL_Tool.Properties
-{
-
-
+namespace SQL_Tool.Properties {
+ using System;
+
+
///
- /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
+ /// A strongly-typed resource class, for looking up localized strings, etc.
///
- // Diese Klasse wurde von der StronglyTypedResourceBuilder-Klasse
- // über ein Tool wie ResGen oder Visual Studio automatisch generiert.
- // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
- // mit der Option /str erneut aus, oder erstellen Sie Ihr VS-Projekt neu.
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
-
+ internal class Resources {
+
private static global::System.Resources.ResourceManager resourceMan;
-
+
private static global::System.Globalization.CultureInfo resourceCulture;
-
+
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
+ internal Resources() {
}
-
+
///
- /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
+ /// Returns the cached ResourceManager instance used by this class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SQL_Tool.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
-
+
///
- /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
- /// Ressourcenlookups, die diese stark typisierte Ressourcenklasse verwenden.
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
///
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get
- {
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
return resourceCulture;
}
- set
- {
+ set {
resourceCulture = value;
}
}
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap arrow_right {
+ get {
+ object obj = ResourceManager.GetObject("arrow-right", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap page_zoom {
+ get {
+ object obj = ResourceManager.GetObject("page-zoom", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap server_database {
+ get {
+ object obj = ResourceManager.GetObject("server-database", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
}
}
diff --git a/SQL-Tool/Properties/Resources.resx b/SQL-Tool/Properties/Resources.resx
index af7dbeb..a9d36d3 100644
--- a/SQL-Tool/Properties/Resources.resx
+++ b/SQL-Tool/Properties/Resources.resx
@@ -46,7 +46,7 @@
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
- : System.Serialization.Formatters.Binary.BinaryFormatter
+ : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
@@ -60,6 +60,7 @@
: and then encoded with base64 encoding.
-->
+
@@ -68,9 +69,10 @@
-
+
+
@@ -85,9 +87,10 @@
-
+
+
@@ -109,9 +112,19 @@
2.0
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ ..\Resources\arrow-right.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\page-zoom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\server-database.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/SQL-Tool/Resources/arrow-right.png b/SQL-Tool/Resources/arrow-right.png
new file mode 100644
index 0000000..83870ee
Binary files /dev/null and b/SQL-Tool/Resources/arrow-right.png differ
diff --git a/SQL-Tool/Resources/page-zoom.png b/SQL-Tool/Resources/page-zoom.png
new file mode 100644
index 0000000..78bb7a6
Binary files /dev/null and b/SQL-Tool/Resources/page-zoom.png differ
diff --git a/SQL-Tool/Resources/server-database.png b/SQL-Tool/Resources/server-database.png
new file mode 100644
index 0000000..de59704
Binary files /dev/null and b/SQL-Tool/Resources/server-database.png differ
diff --git a/SQL-Tool/SQL-Tool.csproj b/SQL-Tool/SQL-Tool.csproj
index 53eaf77..9462a69 100644
--- a/SQL-Tool/SQL-Tool.csproj
+++ b/SQL-Tool/SQL-Tool.csproj
@@ -33,6 +33,9 @@
4
+
+ .\MySql.Data.dll
+
@@ -46,14 +49,19 @@
+
Form
Form1.cs
+
+
+ Form1.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -62,6 +70,7 @@
True
Resources.resx
+ True
SettingsSingleFileGenerator
@@ -76,6 +85,15 @@
+
+
+
+
+
+
+
+
+