Exemple #1
0
        /// <summary>
        /// Return all network servers
        /// </summary>
        /// <returns></returns>
        public static string BrowseNetworkServers()
        {
            BrowseForServers dialog = new BrowseForServers();

            if (DialogResult.OK == dialog.ShowDialog())
            {
                return(dialog.listBox.Text);
            }

            return("");
        }
Exemple #2
0
        /// <summary>
        /// Handles the Change event of the Server Name's selection
        /// </summary>
        /// <param name="sender">Object that fired the event</param>
        /// <param name="e">.NET supplied event parameters</param>
        private void cmbServerName_SelectedIndexChanged(object sender, EventArgs e)
        {
            // if last item in list (Browse for Servers)
            if ((string)cmbServerName.SelectedItem == SharedStrings.BROWSE_FOR_MORE)

            {
                string serverName = BrowseForServers.BrowseNetworkServers().ToString();
                if (!string.IsNullOrEmpty(serverName))
                {
                    this.cmbServerName.Items.Insert(0, serverName);
                    this.cmbServerName.SelectedIndex = 0;
                    cmbDatabaseName.DataSource       = null;
                    PreferredDatabaseName            = string.Empty;
                    List <String> databases = new List <String>();
                    using (var con = new SqlConnection("Data Source=" + serverName + ";Initial Catalog=master;Trusted_Connection=yes"))
                    {
                        try
                        {
                            con.Open();
                            DataTable Databases = con.GetSchema("Databases");
                            con.Close();
                            foreach (DataRow databas in Databases.Rows)
                            {
                                databases.Add(databas.Field <String>("database_name"));
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                    if (databases.Count > 0)
                    {
                        cmbDatabaseName.DataSource = databases;
                    }


                    /*  string database = this.cmbDatabaseName.Text;
                     * Epi.Data.SqlServer.SqlDatabase db = new SqlDatabase();
                     *
                     * dbConnectionStringBuilder = new System.Data.SqlClient.SqlConnectionStringBuilder();
                     * dbConnectionStringBuilder.DataSource = cmbServerName.Text;
                     * dbConnectionStringBuilder.UserID = txtUserName.Text;
                     * if (rdbWindowsAuthentication.Checked)
                     * {
                     *    dbConnectionStringBuilder.IntegratedSecurity = true;
                     * }
                     * else
                     * {
                     *    dbConnectionStringBuilder.UserID = txtUserName.Text;
                     *    dbConnectionStringBuilder.Password = txtPassword.Text;
                     * }
                     *
                     * db.ConnectionString = this.DbConnectionStringBuilder.ToString();
                     *
                     * try
                     * {
                     *    if (db.TestConnection())
                     *    {
                     *        this.cmbDatabaseName.Text = string.Empty;
                     *        List<string> databaseNamesList = db.GetDatabaseNameList();
                     *        cmbDatabaseName.DataSource = databaseNamesList;
                     *    }
                     *    else
                     *    {
                     *        MessageBox.Show("Connection failed."); // TODO: hard coded string.
                     *    }
                     *
                     * }
                     * catch (Exception ex)
                     * {
                     *    MessageBox.Show("Connection failed: " + ex.Message); // TODO: hard coded string
                     * }*/

                    return;
                }

                this.cmbServerName.SelectedText = string.Empty;
            }
            else
            {
                string serverName = cmbServerName.Text;
                if (!string.IsNullOrEmpty(serverName))
                {
                    List <String> databases = new List <String>();
                    cmbDatabaseName.DataSource = null;
                    PreferredDatabaseName      = string.Empty;
                    using (var con = new SqlConnection("Data Source=" + serverName + ";Integrated Security=True"))
                    {
                        try
                        {
                            con.Open();
                            DataTable Databases = con.GetSchema("Databases");
                            con.Close();
                            foreach (DataRow databas in Databases.Rows)
                            {
                                databases.Add(databas.Field <String>("database_name"));
                            }
                        }
                        catch (Exception)
                        {
                        }
                    }
                    if (databases.Count > 0)
                    {
                        cmbDatabaseName.DataSource = databases;
                    }
                }
            }
        }