Some of the basic issues with creating DAL (Data Access Layer) are shared below.
When any TableAdapter is added in a strongly typed DataSet (name: Northwind)
a namespace (name: NorthwindTableAdapters) is created for the TableAdapters in the DataSet.
When a TableAdapter (name: Products) is added to a DataSet (name: Northwind)
A DataTable type (name: Northwind.ProductsDataTable) is created in the DataSet
The created DataTable contains a collection of DataRows (name: Northwind.ProductsRow)
A TableAdapter is created in the TableAdapters' namespace (name: NorthwindTableAdapters.ProductsTableAdapter)
SCOPE_IDENTITY() function in SQLServer returns the last identity value inserted. Details found here.
In case of insert query in TableAdapter, the default 'ExecutionMode' value is 'NonQuery' meaning the query will return the number of afftected rows. The ExecutionMode value 'Scalar' means that the query will return the value actually returned by the query (not number of afftected rows).
In a Form, you can enable/disable miximize/minimize button control easily by FormObject.MaximizeButton or FormObject.MinimizeButton property. But unfortunately, there is no such property for close button. You can disable the close button by overriding a property in your form class like below.