O'Reilly logo

.NET & XML by Niel M. Bornstein

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Creating a DataSet

The most obvious way to create a DataSet is to construct each of its objects and add them to the appropriate collections. First, create a new instance of DataSet named “AngusHardware.” The DataSet represents the entire database schema:

DataSet dataSet = new DataSet("AngusHardware");

Next, add a table named “customers” to the DataSet. The DataTableCollection.Add( ) method has several overloads; by passing a string parameter, you’re creating a new DataTable with the given name, and adding it to the DataSet’s Tables property. Add( ) returns the newly created DataTable, which you’ll use to create columns:

DataTable customers = dataSet.Tables.Add("customers");

Next, add a column to the “customers” table. The DataColumnCollection.Add( ) method returns the newly created DataColumn, which you’ll use in a minute to assign the primary key. This Add( ) method, like the one on DataTableCollection, has several overloads. The one used here simply takes the name of the database column and the Type of the data it contains:

DataColumn customersCustomerId = customers.Columns.Add("customer_id",
   typeof(long));

The process is similar for each column. Note that some columns are nullable in the database and others are not; the AllowDBNull property indicates whether the column is nullable:

customers.Columns.Add("name",typeof(string)).AllowDBNull = false; customers.Columns.Add("address1",typeof(string)).AllowDBNull = false; customers.Columns.Add("address2",typeof(string)); customers.Columns.Add("address3",typeof(string)); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required