I'm new to methods and classes and knowing when and where to use them, i'm currently going through some tutorials at the moment.
I have created a method below getInfo()
 public partial class MainWindow : Window
    {
            DataTable dtNotes = new DataTable();
            DataTable dtTemplateNotes = new DataTable();
            DataTable dtReplaceVariables = new DataTable();
            public void getInfo()
            {
                MessageBox.Show("Hello");
                //Setup connection to server
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                builder.DataSource = "12345678";
                builder.InitialCatalog = "DiscoverThePlanet";
                builder.UserID = "User";
                builder.Password = "Pass";
                string connectionString = builder.ConnectionString;
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    conn.Open();
                    SqlCommand cmdNotes = new SqlCommand("SELECT NoteID, NoteName, Note FROM Notes", conn);
                    SqlCommand cmdTemplateNotes = new SqlCommand("SELECT TemplateNoteID, TemplateNoteName, TemplateNote FROM TemplateNotes", conn);
                    SqlCommand cmdReplaceVariables = new SqlCommand("SELECT ReplaceVariableID, ReplaceVariableName, ReplaceVariableNote FROM ReplaceVariables", conn);
                    SqlDataReader readerNotes = cmdNotes.ExecuteReader();
                    dtNotes.Columns.Add("NoteID", typeof(string));
                    dtNotes.Columns.Add("NoteName", typeof(string));
                    dtNotes.Columns.Add("Note", typeof(string));
                    dtNotes.Load(readerNotes);
                    SqlDataReader readerTemplateNotes = cmdTemplateNotes.ExecuteReader();
                    dtTemplateNotes.Columns.Add("TemplateNoteID", typeof(string));
                    dtTemplateNotes.Columns.Add("TemplateNoteName", typeof(string));
                    dtTemplateNotes.Columns.Add("TemplateNote", typeof(string));
                    dtTemplateNotes.Load(readerTemplateNotes);
                    SqlDataReader readerReplaceVariables = cmdReplaceVariables.ExecuteReader();
                    dtReplaceVariables.Columns.Add("ReplaceVariableID", typeof(string));
                    dtReplaceVariables.Columns.Add("ReplaceVariableName", typeof(string));
                    dtReplaceVariables.Columns.Add("ReplaceVariableNote", typeof(string));
                    dtReplaceVariables.Load(readerReplaceVariables);
                    // Temporary loop to see if the DataTable (dt) has any data?!?
                    //foreach (DataRow thisRow in dt.Rows)
                    //{
                    //    MessageBox.Show(thisRow["NoteName"].ToString());
                    //}
                    // Define the columns BEFORE setting the item source
                    noteNamesList.SelectedValuePath = "NoteID";
                    noteNamesList.DisplayMemberPath = "NoteName";
                    templateNoteNamesList.SelectedValuePath = "TemplateNoteID";
                    templateNoteNamesList.DisplayMemberPath = "TemplateNoteName";
                    replaceVariableNoteList.SelectedValuePath = "ReplaceVariableID";
                    replaceVariableNoteList.DisplayMemberPath = "ReplaceVariableName";
                    // Set the ItemSource to my fully loaded data table!
                    noteNamesList.ItemsSource = dtNotes.DefaultView;
                    templateNoteNamesList.ItemsSource = dtTemplateNotes.DefaultView;
                    replaceVariableNoteList.ItemsSource = dtReplaceVariables.DefaultView;
                    //DEBUG START
                    //MessageBox.Show("Hello");
                    //DEBUG END
                    conn.Close();
                }
            }
As you can see its inside the MainWindow class.
Firstly how do i run this method so it populates my combo boxes and then once i have updated a table by typing in a text box and submitting the result back to the database refresh the combo boxes by using the same method to update the data tables
I did have this not in a method so as soon as the window opens it populates the combo boxes, but someone said to move the code into a method so that i could call that method to refresh my combo boxes
I would like to just click a button and it runs that method
This is what i have for submitting an edited note
private void editNote_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(textResult.Text))
                {
                    submitNote.IsEnabled = false;
                    MessageBox.Show("No Text to save");
                    submitNote.IsEnabled = true;
                }
                else if (noteSaveToSelection.SelectedItem == null)
                {
                    MessageBox.Show("Please select the table the note is from!");
                }
                else
                {
                    if(noteSaveToSelection.Text == "Notes")
                    {
                        noteName.Text = noteNamesList.SelectedValue.ToString();
                    }
                    else if(noteSaveToSelection.Text == "Template Notes")
                    {
                        noteName.Text = templateNoteNamesList.SelectedItem.ToString();
                    }
                    else if(noteSaveToSelection.Text == "Replace Variables")
                    {
                        noteName.Text = replaceVariableNoteList.SelectedItem.ToString();
                    }
                    MessageBoxResult editConfirm = MessageBox.Show("Are you sure you want to submit the edited note '" + noteName.Text + "' to the database?", "Wait!", MessageBoxButton.YesNo);
                    if (editConfirm == MessageBoxResult.Yes)
                    {
                        SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
                        builder.DataSource = "12345678";
                        builder.InitialCatalog = "DiscoverThePlanet";
                        builder.UserID = "user";
                        builder.Password = "pass";
                        string connectionString = builder.ConnectionString;
                        if (noteSaveToSelection.Text == "Notes")
                        {
                            using (SqlConnection conn = new SqlConnection(connectionString))
                            {
                                int id = Convert.ToInt32(noteNamesList.SelectedValue);
                                SqlCommand cmd = new SqlCommand("UPDATE Notes SET Note = @Note WHERE NoteID = @NoteID");
                                cmd.CommandType = CommandType.Text;
                                cmd.Connection = conn;
                                cmd.Parameters.AddWithValue("@NoteID", id); //FIND THE NOTE ID OF NOTE CURRENTLY SELECTED IN DROPDOWN
                                cmd.Parameters.AddWithValue("@NoteName", noteName.Text);
                                cmd.Parameters.AddWithValue("@Note", textResult.Text);
                                conn.Open();
                                cmd.ExecuteNonQuery();
                                MessageBox.Show("Your note has been saved to Notes!");
                                conn.Close();
                                noteName.Text = String.Empty;
                            }
                        }
