/// <summary> /// Initializes GUI elements with properties values. /// </summary> public override void LoadProperties() { if (ConnectionProperties == null) { throw new Exception(Resources.ConnectionPropertiesNull); } Button okButton = this.ParentForm.AcceptButton as Button; okButton.Click += new EventHandler(okButton_Click); AdoDotNetConnectionProperties prop = (ConnectionProperties as AdoDotNetConnectionProperties); DbConnectionStringBuilder cb = prop.ConnectionStringBuilder; loadingInProcess = true; try { serverNameTextBox.Text = (string)cb["Server"]; userNameTextBox.Text = (string)cb["User Id"]; passwordTextBox.Text = (string)cb["Password"]; dbList.Text = (string)cb["Database"]; savePasswordCheckBox.Checked = (bool)cb["Persist Security Info"]; } finally { loadingInProcess = false; } }
private bool AttemptToCreateDatabase() { AdoDotNetConnectionProperties prop = (ConnectionProperties as AdoDotNetConnectionProperties); DbConnectionStringBuilder cb = prop.ConnectionStringBuilder; string olddb = (string)cb["Database"]; cb["Database"] = ""; try { using (MySqlConnectionSupport conn = new MySqlConnectionSupport()) { conn.Initialize(null); conn.ConnectionString = cb.ConnectionString; conn.Open(false); conn.ExecuteWithoutResults("CREATE DATABASE `" + dbList.Text + "`", 1, null, 0); } return(true); } catch (Exception) { MessageBox.Show(String.Format(Resources.ErrorAttemptingToCreateDB, dbList.Text)); return(false); } finally { cb["Database"] = olddb; } }
private bool DatabaseExists() { AdoDotNetConnectionProperties prop = (ConnectionProperties as AdoDotNetConnectionProperties); DbConnectionStringBuilder cb = prop.ConnectionStringBuilder; try { using (MySqlConnectionSupport conn = new MySqlConnectionSupport()) { conn.Initialize(null); conn.ConnectionString = cb.ConnectionString; conn.Open(false); } return(true); } catch (DbException ex) { string msg = ex.Message.ToLowerInvariant(); if (msg.StartsWith("unknown database")) { return(false); } throw; } }
private static void WpfPropertyGrid_PropertyValueChanged(object sender, EventArgs e) { AdoDotNetConnectionProperties conProp = (AdoDotNetConnectionProperties)sender; var connString = conProp.ToDisplayString(); if (!conProp.HasErrors) { current.ChangeHelpText(connString); current.RefreshPropertyList(); } }
private void dbList_DropDown(object sender, EventArgs e) { if (dbListPopulated) { return; } AdoDotNetConnectionProperties prop = (ConnectionProperties as AdoDotNetConnectionProperties); DbConnectionStringBuilder cb = prop.ConnectionStringBuilder; try { using (MySqlConnectionSupport conn = new MySqlConnectionSupport()) { conn.Initialize(null); conn.ConnectionString = cb.ConnectionString; conn.Open(false); dbList.Items.Clear(); using (DataReader reader = conn.Execute("SHOW DATABASES", 1, null, 0)) { while (reader.Read()) { string dbName = reader.GetItem(0).ToString().ToLowerInvariant(); if (dbName == "information_schema") { continue; } if (dbName == "mysql") { continue; } dbList.Items.Add(reader.GetItem(0)); } dbListPopulated = true; } } } catch (Exception) { MessageBox.Show(Resources.UnableToRetrieveDatabaseList); } }
private static void WpfPropertyGrid_ErrorValidating(object sender, EventArgs e) { AdoDotNetConnectionProperties conProp = (AdoDotNetConnectionProperties)sender; current.SetErrorText(conProp.ErrorProperties); }