Hi,
the prefered way is Method 3. It won't work in your case, but if you define your PK DataColumn as AutoIncrement=true and set AutoIncrementSeed and AutoIncrementStep the dataset is able to handle autogenerated columns.
Since you are using TableAdapters you must have a typed dataset. In this case is better to use
this.sHC_DataSet.jPlumbing.Rows.Add(row); // if the name of the DataTable is jPlumbing
instead
this.sHC_DataSet.Tables["jPlumbing"].Rows.Add(row);
because you get intelligence support and the named is checked at compile time.
There is still a better version to add a new row
jPlumbingRow newRow = this.sHC_DataSet.jPlumbing.NewjPlumbingRow();
newRow.RoomTemplateID = 12;
newRow.AnotherColumn = "dgdgdg";
this.sHC_DataSet.jPlumbing.AddjPlumbingRow(newRow);
regards
Philipp