Difference between Typed DataSets and UnTyped DataSets
Strongly Typed Datasets
A Strongly Typed Dataset is a custom class and it consists of classes derived form DataSet, DataTable and DataRow. A typed class assumes all of the functionality of the DataSet class and can be used with methods that take an instance of a DataSet class as a parameter. It is bind with the database tabless at design time and you have all the schema information at design time in your code.
It is stored in an .xsd file and do error checking regarding their schema at design time using the .xsd definitions. You can access the tables and columns with the actual names because it is added as .xsd file in your application. In case of a Strongly Typed Datasets, you are the one who tells what to do. You can specify exactly what you want, no matter if it is not exactly what you have in the database.
An UnTyped DataSet is an instance of class System.Data.DataSet. It is binded with the tables at runtime and there no corresponding built-in schema. You are not aware of the schema of the dataset at design time and there is no error checking facility at the design time as they are filled at run time when the code executes.