After adding multiple rows to a DataGridView, how do you update the database with ALL of the new rows?

I am using the data componenents from VS2008. I have a DataGridView, BindingSource and TableAdapter. They are linked to a remote SQL Server database.

I have made a DataGridView that can be added to by using ctrl+v. After the data is added I call update(dataSet), but only one row is actually added back to the database!

Basically, I take the data from the clipboard as csv from Excel, add rows to the dataset and fill them with that data, then try to call update to send the new data to the database:


Firstly, here is (an abbreviation of) the code I use to add rows to the DataGridView + DataSet from the clipboard:
Code:
                DataGridView dgv dgv = this.ActiveControl as DataGridView;

			//Add rows to the DataGridView from the clipboard
                IDataObject t;
                String row;

                t = Clipboard.GetDataObject();

                var stream = (System.IO.Stream)t.GetData("csv");

                System.IO.StreamReader sr;
                DataRow dr = null;

                sr = new System.IO.StreamReader(stream);

                int added = 0;
                while(sr!=null && sr.Peek() > 0){
                    row = sr.ReadLine();

                    //split row
                    char[] separators = new char[2];
                    separators[0] = ','; //comma
                    separators[1] = ' '; //tab
                    String[] values = row.Split(separators);

                    dr = dataSet1.Dictionary.NewRow();
                    dr[0] = values[0].ToString();
                    dr[1] = values[1].ToString();
                    dr[2] = TrueFalse(values[2]);

                        dataSet1.Dictionary.Rows.Add(dr); // Rows successfully added here!
                        added++;
                }
This works well. the rows are added. Now I try an Update(ds) to get that data into the batabase:

Code:
                dictionaryTableAdapter.Adapter.Update(dataSet1, "Dictionary");
                                
                MessageBox.Show(added + " rows added   " + dataSet1.Dictionary.Rows.Count + " rows total");
The message box pops up and gives me good news that the expected number of rows were added!

HOWEVER, if I now check the database, only the first row was actually added, and if I call dictionaryTableAdapter.Fill(this.dataSet1.Dictionary); to refresh the DataGridView, all those pasted entries bar one disappears!

In case it helps, I used auto-generated SQL commands for the DataSet. The Update command looks like this:

Code:
UPDATE [dbo].[Dictionary] SET [MemberWord] = @MemberWord, [Headword] = @Headword, [IsMeaningful] = @IsMeaningful WHERE (([MemberWord] = @Original_MemberWord) AND ([Headword] = @Original_Headword) AND ([IsMeaningful] = @Original_IsMeaningful));
SELECT MemberWord, Headword, IsMeaningful FROM Dictionary WHERE (MemberWord = @MemberWord) ORDER BY Headword
If that isn't enough information, just tell me what else you need to know.

Thanks in advance.