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. whereas 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.