<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FADO.Net%2FDataSet</id>
		<title>Csharp/CSharp Tutorial/ADO.Net/DataSet - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FCSharp_Tutorial%2FADO.Net%2FDataSet"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet&amp;action=history"/>
		<updated>2026-04-30T00:09:28Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet&amp;diff=6504&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet&amp;diff=6504&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:53Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet&amp;diff=6505&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/CSharp_Tutorial/ADO.Net/DataSet&amp;diff=6505&amp;oldid=prev"/>
				<updated>2010-05-26T12:19:16Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Creating a Strongly Typed DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
      using System.Data;&lt;br /&gt;
      using System.Data.SqlClient;&lt;br /&gt;
          class Program&lt;br /&gt;
          {&lt;br /&gt;
              static void Main(string[] args)&lt;br /&gt;
              {&lt;br /&gt;
                  string xsdFileName = &amp;quot;AdventureWorks.xsd&amp;quot;;&lt;br /&gt;
                  string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
                  string sqlText = &amp;quot;SELECT * FROM Sales.SalesOrderHeader;SELECT * FROM Sales.SalesOrderDetail;&amp;quot;;&lt;br /&gt;
                  SqlDataAdapter da = new SqlDataAdapter(sqlText, sqlConnectString);&lt;br /&gt;
                  da.TableMappings.Add(&amp;quot;Table&amp;quot;, &amp;quot;SalesOrderHeader&amp;quot;);&lt;br /&gt;
                  da.TableMappings.Add(&amp;quot;Table1&amp;quot;, &amp;quot;SalesOrderDetail&amp;quot;);&lt;br /&gt;
                  DataSet ds = new DataSet(&amp;quot;AdventureWorks&amp;quot;);&lt;br /&gt;
                  da.FillSchema(ds, SchemaType.Mapped);&lt;br /&gt;
                  ds.Relations.Add(&amp;quot;SalesOrderHeader_SalesOrderDetail&amp;quot;,&lt;br /&gt;
                      ds.Tables[&amp;quot;SalesOrderHeader&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;],&lt;br /&gt;
                      ds.Tables[&amp;quot;SalesOrderDetail&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;]);&lt;br /&gt;
                  ds.WriteXmlSchema(xsdFileName);&lt;br /&gt;
              }&lt;br /&gt;
          }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataSet.DataTable count==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
            string sqlSelect = &amp;quot;SELECT FirstName, LastName FROM Person.Contact&amp;quot;;&lt;br /&gt;
            SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString);&lt;br /&gt;
            DataTable dt = new DataTable( );&lt;br /&gt;
            da.Fill(dt);&lt;br /&gt;
            foreach (DataRow row in dt.Rows)&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} {1}&amp;quot;, row[0], row[&amp;quot;LastName&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
            DataSet ds = new DataSet( );&lt;br /&gt;
            da.Fill(ds, &amp;quot;Contact&amp;quot;);&lt;br /&gt;
            Console.WriteLine(ds.Tables.Count);&lt;br /&gt;
            Console.WriteLine(ds.Tables[0].TableName);&lt;br /&gt;
            foreach (DataRow row in ds.Tables[&amp;quot;Contact&amp;quot;].Rows)&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} {1}&amp;quot;, row[0], row[1]);&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataSet.DataTable name==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
            string sqlSelect = &amp;quot;SELECT FirstName, LastName FROM Person.Contact&amp;quot;;&lt;br /&gt;
            SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString);&lt;br /&gt;
            DataTable dt = new DataTable( );&lt;br /&gt;
            da.Fill(dt);&lt;br /&gt;
            foreach (DataRow row in dt.Rows)&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} {1}&amp;quot;, row[0], row[&amp;quot;LastName&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
            DataSet ds = new DataSet( );&lt;br /&gt;
            da.Fill(ds, &amp;quot;Contact&amp;quot;);&lt;br /&gt;
            Console.WriteLine(ds.Tables.Count);&lt;br /&gt;
            Console.WriteLine(ds.Tables[0].TableName);&lt;br /&gt;
            foreach (DataRow row in ds.Tables[&amp;quot;Contact&amp;quot;].Rows)&lt;br /&gt;
                Console.WriteLine(&amp;quot;{0} {1}&amp;quot;, row[0], row[1]);&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataSet Merge event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.OleDb;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void Main(){&lt;br /&gt;
    OleDbConnection conn = new OleDbConnection();&lt;br /&gt;
    string strDSN = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Northwind.mdb&amp;quot;;&lt;br /&gt;
    conn.ConnectionString = strDSN;&lt;br /&gt;
    conn.Open();&lt;br /&gt;
    string sql = &amp;quot;SELECT * FROM orders &amp;quot;;&lt;br /&gt;
    OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);&lt;br /&gt;
    DataSet ds1 = new DataSet(&amp;quot;ds1&amp;quot;);&lt;br /&gt;
    da.Fill(ds1);&lt;br /&gt;
    sql = &amp;quot;SELECT * FROM Customers &amp;quot;;&lt;br /&gt;
    da = new OleDbDataAdapter(sql, conn);&lt;br /&gt;
    DataSet ds2 = new DataSet(&amp;quot;ds2&amp;quot;);&lt;br /&gt;
    da.Fill(ds2);&lt;br /&gt;
    ds1.MergeFailed += new MergeFailedEventHandler(OnMergeFailed);&lt;br /&gt;
    ds1.Merge(ds2);&lt;br /&gt;
  }&lt;br /&gt;
  protected static void OnMergeFailed  (object sender, MergeFailedEventArgs args)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(args.Conflict.ToString());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==DataSet Read with SqlDataAdapter==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;            &lt;br /&gt;
using System.Data.SqlClient;  &lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Text;&lt;br /&gt;
  class Program&lt;br /&gt;
  {&lt;br /&gt;
    static void Main(string[] args)&lt;br /&gt;
    {&lt;br /&gt;
      SqlConnection thisConnection = new SqlConnection(&lt;br /&gt;
                @&amp;quot;Data Source=.\SQLEXPRESS;&amp;quot; +&lt;br /&gt;
                @&amp;quot;AttachDbFilename=&amp;quot;NORTHWND.MDF&amp;quot;;&amp;quot; +&lt;br /&gt;
                @&amp;quot;Integrated Security=True;Connect Timeout=30;User Instance=true&amp;quot;);&lt;br /&gt;
      SqlDataAdapter thisAdapter = new SqlDataAdapter(&amp;quot;SELECT CustomerID, ContactName FROM Customers&amp;quot;, thisConnection);&lt;br /&gt;
      DataSet thisDataSet = new DataSet();&lt;br /&gt;
      thisAdapter.Fill(thisDataSet, &amp;quot;Customers&amp;quot;);&lt;br /&gt;
      foreach (DataRow theRow in thisDataSet.Tables[&amp;quot;Customers&amp;quot;].Rows)&lt;br /&gt;
      {&lt;br /&gt;
        Console.WriteLine(theRow[&amp;quot;CustomerID&amp;quot;] + &amp;quot;\t&amp;quot; +theRow[&amp;quot;ContactName&amp;quot;]);&lt;br /&gt;
      }&lt;br /&gt;
      thisConnection.Close();&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Fill a DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
   static void Main(string[] args)&lt;br /&gt;
   {&lt;br /&gt;
      string connString = @&amp;quot;server = .\sqlexpress;integrated security = true;database = northwind&amp;quot;;&lt;br /&gt;
      string sql = @&amp;quot;select productname,unitprice from products where unitprice &amp;lt; 20&amp;quot;;&lt;br /&gt;
      SqlConnection conn = new SqlConnection(connString);&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
         conn.Open();&lt;br /&gt;
         SqlDataAdapter da = new SqlDataAdapter(sql, conn);&lt;br /&gt;
         DataSet ds = new DataSet();&lt;br /&gt;
         da.Fill(ds, &amp;quot;products&amp;quot;);&lt;br /&gt;
         DataTable dt = ds.Tables[&amp;quot;products&amp;quot;];&lt;br /&gt;
         foreach (DataRow row in dt.Rows) &lt;br /&gt;
         {&lt;br /&gt;
            foreach (DataColumn col in dt.Columns)&lt;br /&gt;
               Console.WriteLine(row[col]);&lt;br /&gt;
         }&lt;br /&gt;
      }&lt;br /&gt;
      catch(Exception e)&lt;br /&gt;
      {&lt;br /&gt;
         Console.WriteLine(&amp;quot;Error: &amp;quot; + e);&lt;br /&gt;
      }&lt;br /&gt;
      finally&lt;br /&gt;
      {&lt;br /&gt;
         conn.Close();&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Find Rows In Data==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
class MainClass &lt;br /&gt;
{&lt;br /&gt;
  public static void Main()&lt;br /&gt;
  {&lt;br /&gt;
    SqlConnection MyConnection = new SqlConnection(&amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;&amp;quot;);&lt;br /&gt;
    SqlDataAdapter MyDataAdapter = new SqlDataAdapter(&amp;quot;SELECT * FROM Employee&amp;quot;, MyConnection);&lt;br /&gt;
    SqlCommandBuilder MyCmd = new SqlCommandBuilder(MyDataAdapter);&lt;br /&gt;
    DataSet MyDataSet = new DataSet();&lt;br /&gt;
    MyDataAdapter.Fill(MyDataSet);&lt;br /&gt;
    DataColumn[] MyKey = new DataColumn[1];&lt;br /&gt;
    MyKey[0] = MyDataSet.Tables[0].Columns[0];&lt;br /&gt;
    MyDataSet.Tables[0].PrimaryKey = MyKey;&lt;br /&gt;
    DataRow FindMyRow = MyDataSet.Tables[0].Rows.Find(1);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Load XML to DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
    SqlConnection MyConnection = new SqlConnection(&amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;&amp;quot;);&lt;br /&gt;
    SqlDataAdapter MyAdapter = new SqlDataAdapter(&amp;quot;SELECT * FROM Employee&amp;quot;, MyConnection);&lt;br /&gt;
    DataSet MyDataSet = new DataSet();&lt;br /&gt;
    MyAdapter.Fill(MyDataSet, &amp;quot;MyTable&amp;quot;);&lt;br /&gt;
    MyDataSet.WriteXml(@&amp;quot;c:\Sample.xml&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mapping Table and Column Names Between a Data Source and DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.rumon;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
            string sqlSelect = &amp;quot;SELECT TOP 5 Title, FirstName, LastName FROM Person.Contact&amp;quot;;&lt;br /&gt;
            SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString);&lt;br /&gt;
            DataTableMapping dtm = da.TableMappings.Add(&amp;quot;Table&amp;quot;, &amp;quot;myContact&amp;quot;);&lt;br /&gt;
            dtm.ColumnMappings.Add(&amp;quot;Title&amp;quot;, &amp;quot;myTitle&amp;quot;);&lt;br /&gt;
            dtm.ColumnMappings.Add(&amp;quot;FirstName&amp;quot;, &amp;quot;myFirstName&amp;quot;);&lt;br /&gt;
            dtm.ColumnMappings.Add(&amp;quot;LastName&amp;quot;, &amp;quot;myLastName&amp;quot;);&lt;br /&gt;
            DataSet ds = new DataSet();&lt;br /&gt;
            da.Fill(ds);&lt;br /&gt;
            Console.WriteLine(&amp;quot;DataTable name = {0}&amp;quot;,ds.Tables[0].TableName);&lt;br /&gt;
            foreach(DataColumn col in ds.Tables[&amp;quot;myContact&amp;quot;].Columns)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(col.Ordinal);&lt;br /&gt;
                Console.WriteLine(col.ColumnName);&lt;br /&gt;
            }&lt;br /&gt;
            foreach(DataRow row in ds.Tables[&amp;quot;myContact&amp;quot;].Rows)&lt;br /&gt;
            {&lt;br /&gt;
                Console.WriteLine(&lt;br /&gt;
                    &amp;quot;Title = {0}, FirstName = {1}, LastName = {2}&amp;quot;,&lt;br /&gt;
                    row[&amp;quot;myTitle&amp;quot;], row[&amp;quot;myFirstName&amp;quot;],&lt;br /&gt;
                    row[&amp;quot;myLastName&amp;quot;]);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Merge two DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.OleDb;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void Main(){&lt;br /&gt;
    OleDbConnection conn = new OleDbConnection();&lt;br /&gt;
    string strDSN = &amp;quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Northwind.mdb&amp;quot;;&lt;br /&gt;
    conn.ConnectionString = strDSN;&lt;br /&gt;
    conn.Open();&lt;br /&gt;
    string sql = &amp;quot;SELECT * FROM orders &amp;quot;;&lt;br /&gt;
    OleDbDataAdapter da = new OleDbDataAdapter(sql, conn);&lt;br /&gt;
    DataSet ds1 = new DataSet(&amp;quot;ds1&amp;quot;);&lt;br /&gt;
    da.Fill(ds1);&lt;br /&gt;
    sql = &amp;quot;SELECT * FROM Customers &amp;quot;;&lt;br /&gt;
    da = new OleDbDataAdapter(sql, conn);&lt;br /&gt;
    DataSet ds2 = new DataSet(&amp;quot;ds2&amp;quot;);&lt;br /&gt;
    da.Fill(ds2);&lt;br /&gt;
    ds1.MergeFailed += new MergeFailedEventHandler(OnMergeFailed);&lt;br /&gt;
    ds1.Merge(ds2);&lt;br /&gt;
  }&lt;br /&gt;
  protected static void OnMergeFailed  (object sender, MergeFailedEventArgs args)&lt;br /&gt;
  {&lt;br /&gt;
    MessageBox.Show(args.Conflict.ToString());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Multitabled DataSet App==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
&lt;br /&gt;
  public class MainForm : Form&lt;br /&gt;
  {&lt;br /&gt;
    private DataSet yourDBDS = new DataSet(&amp;quot;YourDB&amp;quot;);&lt;br /&gt;
    private SqlCommandBuilder sqlCBInventory;&lt;br /&gt;
    private SqlCommandBuilder sqlCBCustomers;&lt;br /&gt;
    private SqlCommandBuilder sqlCBOrders;&lt;br /&gt;
    private SqlDataAdapter invTableAdapter;&lt;br /&gt;
    private SqlDataAdapter custTableAdapter;&lt;br /&gt;
    private SqlDataAdapter ordersTableAdapter;&lt;br /&gt;
    private string cnStr = &amp;quot;SqlProvider&amp;quot;;&lt;br /&gt;
    public MainForm()&lt;br /&gt;
    {&lt;br /&gt;
      InitializeComponent();&lt;br /&gt;
      &lt;br /&gt;
      invTableAdapter = new SqlDataAdapter(&amp;quot;Select * from Inventory&amp;quot;, cnStr);&lt;br /&gt;
      custTableAdapter = new SqlDataAdapter(&amp;quot;Select * from Customers&amp;quot;, cnStr);&lt;br /&gt;
      ordersTableAdapter = new SqlDataAdapter(&amp;quot;Select * from Orders&amp;quot;, cnStr);&lt;br /&gt;
      sqlCBInventory = new SqlCommandBuilder(invTableAdapter);&lt;br /&gt;
      sqlCBOrders = new SqlCommandBuilder(ordersTableAdapter);&lt;br /&gt;
      sqlCBCustomers = new SqlCommandBuilder(custTableAdapter);&lt;br /&gt;
      invTableAdapter.Fill(yourDBDS, &amp;quot;Inventory&amp;quot;);&lt;br /&gt;
      custTableAdapter.Fill(yourDBDS, &amp;quot;Customers&amp;quot;);&lt;br /&gt;
      ordersTableAdapter.Fill(yourDBDS, &amp;quot;Orders&amp;quot;);&lt;br /&gt;
      BuildTableRelationship();&lt;br /&gt;
      dataGridViewInventory.DataSource = yourDBDS.Tables[&amp;quot;Inventory&amp;quot;];&lt;br /&gt;
      dataGridViewCustomers.DataSource = yourDBDS.Tables[&amp;quot;Customers&amp;quot;];&lt;br /&gt;
      dataGridViewOrders.DataSource = yourDBDS.Tables[&amp;quot;Orders&amp;quot;];&lt;br /&gt;
    }&lt;br /&gt;
    private void BuildTableRelationship()&lt;br /&gt;
    {&lt;br /&gt;
      DataRelation dr = new DataRelation(&amp;quot;CustomerOrder&amp;quot;,yourDBDS.Tables[&amp;quot;Customers&amp;quot;].Columns[&amp;quot;CustID&amp;quot;],yourDBDS.Tables[&amp;quot;Orders&amp;quot;].Columns[&amp;quot;CustID&amp;quot;]);&lt;br /&gt;
      yourDBDS.Relations.Add(dr);&lt;br /&gt;
      dr = new DataRelation(&amp;quot;InventoryOrder&amp;quot;,yourDBDS.Tables[&amp;quot;Inventory&amp;quot;].Columns[&amp;quot;CarID&amp;quot;],yourDBDS.Tables[&amp;quot;Orders&amp;quot;].Columns[&amp;quot;CarID&amp;quot;]);&lt;br /&gt;
      yourDBDS.Relations.Add(dr);&lt;br /&gt;
    }&lt;br /&gt;
    private void btnUpdate_Click(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      try&lt;br /&gt;
      {&lt;br /&gt;
        invTableAdapter.Update(yourDBDS, &amp;quot;Inventory&amp;quot;);&lt;br /&gt;
        custTableAdapter.Update(yourDBDS, &amp;quot;Customers&amp;quot;);&lt;br /&gt;
        ordersTableAdapter.Update(yourDBDS, &amp;quot;Orders&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
      catch (Exception ex)&lt;br /&gt;
      {&lt;br /&gt;
        MessageBox.Show(ex.Message);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    private void btnGetOrderInfo_Click(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
      string strOrderInfo = string.Empty;&lt;br /&gt;
      DataRow[] drsCust = null;&lt;br /&gt;
      DataRow[] drsOrder = null;&lt;br /&gt;
      int custID = int.Parse(this.txtCustID.Text);&lt;br /&gt;
      drsCust = yourDBDS.Tables[&amp;quot;Customers&amp;quot;].Select(string.Format(&amp;quot;CustID = {0}&amp;quot;, custID));&lt;br /&gt;
      strOrderInfo += string.Format(&amp;quot;Customer {0}: {1} {2}\n&amp;quot;, &lt;br /&gt;
        drsCust[0][&amp;quot;CustID&amp;quot;].ToString(),&lt;br /&gt;
        drsCust[0][&amp;quot;FirstName&amp;quot;].ToString().Trim(),&lt;br /&gt;
        drsCust[0][&amp;quot;LastName&amp;quot;].ToString().Trim());&lt;br /&gt;
      drsOrder = drsCust[0].GetChildRows(yourDBDS.Relations[&amp;quot;CustomerOrder&amp;quot;]);&lt;br /&gt;
      foreach (DataRow r in drsOrder)&lt;br /&gt;
        strOrderInfo += string.Format(&amp;quot;Order Number: {0}\n&amp;quot;, r[&amp;quot;OrderID&amp;quot;]);&lt;br /&gt;
      DataRow[] drsInv = drsOrder[0].GetParentRows(yourDBDS.Relations[&amp;quot;InventoryOrder&amp;quot;]);&lt;br /&gt;
      foreach (DataRow r in drsInv)&lt;br /&gt;
      {&lt;br /&gt;
        strOrderInfo += r[&amp;quot;Make&amp;quot;];&lt;br /&gt;
        strOrderInfo += r[&amp;quot;Color&amp;quot;];&lt;br /&gt;
        strOrderInfo += r[&amp;quot;PetName&amp;quot;];&lt;br /&gt;
      }&lt;br /&gt;
      MessageBox.Show(strOrderInfo, &amp;quot;Order Details&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
        private void InitializeComponent()&lt;br /&gt;
        {&lt;br /&gt;
          this.dataGridViewInventory = new System.Windows.Forms.DataGridView();&lt;br /&gt;
          this.label1 = new System.Windows.Forms.Label();&lt;br /&gt;
          this.label2 = new System.Windows.Forms.Label();&lt;br /&gt;
          this.dataGridViewCustomers = new System.Windows.Forms.DataGridView();&lt;br /&gt;
          this.label3 = new System.Windows.Forms.Label();&lt;br /&gt;
          this.dataGridViewOrders = new System.Windows.Forms.DataGridView();&lt;br /&gt;
          this.btnUpdateDatabase = new System.Windows.Forms.Button();&lt;br /&gt;
          this.btnGetOrderInfo = new System.Windows.Forms.Button();&lt;br /&gt;
          this.txtCustID = new System.Windows.Forms.TextBox();&lt;br /&gt;
          this.label4 = new System.Windows.Forms.Label();&lt;br /&gt;
          this.groupBox1 = new System.Windows.Forms.GroupBox();&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewInventory)).BeginInit();&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewCustomers)).BeginInit();&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewOrders)).BeginInit();&lt;br /&gt;
          this.groupBox1.SuspendLayout();&lt;br /&gt;
          this.SuspendLayout();&lt;br /&gt;
          // &lt;br /&gt;
          // dataGridViewInventory&lt;br /&gt;
          // &lt;br /&gt;
          this.dataGridViewInventory.Location = new System.Drawing.Point(12, 34);&lt;br /&gt;
          this.dataGridViewInventory.Name = &amp;quot;dataGridViewInventory&amp;quot;;&lt;br /&gt;
          this.dataGridViewInventory.Size = new System.Drawing.Size(509, 82);&lt;br /&gt;
          this.dataGridViewInventory.TabIndex = 0;&lt;br /&gt;
          this.dataGridViewInventory.Text = &amp;quot;dataGridView1&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // label1&lt;br /&gt;
          // &lt;br /&gt;
          this.label1.AutoSize = true;&lt;br /&gt;
          this.label1.Location = new System.Drawing.Point(11, 18);&lt;br /&gt;
          this.label1.Name = &amp;quot;label1&amp;quot;;&lt;br /&gt;
          this.label1.Size = new System.Drawing.Size(88, 13);&lt;br /&gt;
          this.label1.TabIndex = 1;&lt;br /&gt;
          this.label1.Text = &amp;quot;Current Inventory&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // label2&lt;br /&gt;
          // &lt;br /&gt;
          this.label2.AutoSize = true;&lt;br /&gt;
          this.label2.Location = new System.Drawing.Point(12, 126);&lt;br /&gt;
          this.label2.Name = &amp;quot;label2&amp;quot;;&lt;br /&gt;
          this.label2.Size = new System.Drawing.Size(93, 13);&lt;br /&gt;
          this.label2.TabIndex = 3;&lt;br /&gt;
          this.label2.Text = &amp;quot;Current Customers&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // dataGridViewCustomers&lt;br /&gt;
          // &lt;br /&gt;
          this.dataGridViewCustomers.Location = new System.Drawing.Point(13, 142);&lt;br /&gt;
          this.dataGridViewCustomers.Name = &amp;quot;dataGridViewCustomers&amp;quot;;&lt;br /&gt;
          this.dataGridViewCustomers.Size = new System.Drawing.Size(509, 90);&lt;br /&gt;
          this.dataGridViewCustomers.TabIndex = 2;&lt;br /&gt;
          this.dataGridViewCustomers.Text = &amp;quot;dataGridView2&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // label3&lt;br /&gt;
          // &lt;br /&gt;
          this.label3.AutoSize = true;&lt;br /&gt;
          this.label3.Location = new System.Drawing.Point(12, 244);&lt;br /&gt;
          this.label3.Name = &amp;quot;label3&amp;quot;;&lt;br /&gt;
          this.label3.Size = new System.Drawing.Size(75, 13);&lt;br /&gt;
          this.label3.TabIndex = 5;&lt;br /&gt;
          this.label3.Text = &amp;quot;Current Orders&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // dataGridViewOrders&lt;br /&gt;
          // &lt;br /&gt;
          this.dataGridViewOrders.Location = new System.Drawing.Point(13, 260);&lt;br /&gt;
          this.dataGridViewOrders.Name = &amp;quot;dataGridViewOrders&amp;quot;;&lt;br /&gt;
          this.dataGridViewOrders.Size = new System.Drawing.Size(509, 90);&lt;br /&gt;
          this.dataGridViewOrders.TabIndex = 4;&lt;br /&gt;
          this.dataGridViewOrders.Text = &amp;quot;dataGridView3&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // btnUpdateDatabase&lt;br /&gt;
          // &lt;br /&gt;
          this.btnUpdateDatabase.Location = new System.Drawing.Point(407, 368);&lt;br /&gt;
          this.btnUpdateDatabase.Name = &amp;quot;btnUpdateDatabase&amp;quot;;&lt;br /&gt;
          this.btnUpdateDatabase.Size = new System.Drawing.Size(114, 23);&lt;br /&gt;
          this.btnUpdateDatabase.TabIndex = 6;&lt;br /&gt;
          this.btnUpdateDatabase.Text = &amp;quot;Update Database&amp;quot;;&lt;br /&gt;
          this.btnUpdateDatabase.Click += new System.EventHandler(this.btnUpdate_Click);&lt;br /&gt;
          // &lt;br /&gt;
          // btnGetOrderInfo&lt;br /&gt;
          // &lt;br /&gt;
          this.btnGetOrderInfo.Location = new System.Drawing.Point(84, 71);&lt;br /&gt;
          this.btnGetOrderInfo.Name = &amp;quot;btnGetOrderInfo&amp;quot;;&lt;br /&gt;
          this.btnGetOrderInfo.Size = new System.Drawing.Size(110, 23);&lt;br /&gt;
          this.btnGetOrderInfo.TabIndex = 7;&lt;br /&gt;
          this.btnGetOrderInfo.Text = &amp;quot;Get Order Details&amp;quot;;&lt;br /&gt;
          this.btnGetOrderInfo.Click += new System.EventHandler(this.btnGetOrderInfo_Click);&lt;br /&gt;
          // &lt;br /&gt;
          // txtCustID&lt;br /&gt;
          // &lt;br /&gt;
          this.txtCustID.Location = new System.Drawing.Point(84, 29);&lt;br /&gt;
          this.txtCustID.Name = &amp;quot;txtCustID&amp;quot;;&lt;br /&gt;
          this.txtCustID.Size = new System.Drawing.Size(110, 20);&lt;br /&gt;
          this.txtCustID.TabIndex = 8;&lt;br /&gt;
          // &lt;br /&gt;
          // label4&lt;br /&gt;
          // &lt;br /&gt;
          this.label4.AutoSize = true;&lt;br /&gt;
          this.label4.Location = new System.Drawing.Point(10, 29);&lt;br /&gt;
          this.label4.Name = &amp;quot;label4&amp;quot;;&lt;br /&gt;
          this.label4.Size = new System.Drawing.Size(68, 13);&lt;br /&gt;
          this.label4.TabIndex = 9;&lt;br /&gt;
          this.label4.Text = &amp;quot;Customer ID:&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // groupBox1&lt;br /&gt;
          // &lt;br /&gt;
          this.groupBox1.Controls.Add(this.btnGetOrderInfo);&lt;br /&gt;
          this.groupBox1.Controls.Add(this.label4);&lt;br /&gt;
          this.groupBox1.Controls.Add(this.txtCustID);&lt;br /&gt;
          this.groupBox1.Location = new System.Drawing.Point(15, 368);&lt;br /&gt;
          this.groupBox1.Name = &amp;quot;groupBox1&amp;quot;;&lt;br /&gt;
          this.groupBox1.Size = new System.Drawing.Size(200, 100);&lt;br /&gt;
          this.groupBox1.TabIndex = 10;&lt;br /&gt;
          this.groupBox1.TabStop = false;&lt;br /&gt;
          this.groupBox1.Text = &amp;quot;Lookup Customer Order&amp;quot;;&lt;br /&gt;
          // &lt;br /&gt;
          // MainForm&lt;br /&gt;
          // &lt;br /&gt;
          this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);&lt;br /&gt;
          this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;&lt;br /&gt;
          this.ClientSize = new System.Drawing.Size(534, 480);&lt;br /&gt;
          this.Controls.Add(this.groupBox1);&lt;br /&gt;
          this.Controls.Add(this.btnUpdateDatabase);&lt;br /&gt;
          this.Controls.Add(this.label3);&lt;br /&gt;
          this.Controls.Add(this.dataGridViewOrders);&lt;br /&gt;
          this.Controls.Add(this.label2);&lt;br /&gt;
          this.Controls.Add(this.dataGridViewCustomers);&lt;br /&gt;
          this.Controls.Add(this.label1);&lt;br /&gt;
          this.Controls.Add(this.dataGridViewInventory);&lt;br /&gt;
          this.Name = &amp;quot;MainForm&amp;quot;;&lt;br /&gt;
          this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;&lt;br /&gt;
          this.Text = &amp;quot;YourDB Database Manipulator&amp;quot;;&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewInventory)).EndInit();&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewCustomers)).EndInit();&lt;br /&gt;
          ((System.ruponentModel.ISupportInitialize)(this.dataGridViewOrders)).EndInit();&lt;br /&gt;
          this.groupBox1.ResumeLayout(false);&lt;br /&gt;
          this.groupBox1.PerformLayout();&lt;br /&gt;
          this.ResumeLayout(false);&lt;br /&gt;
          this.PerformLayout();&lt;br /&gt;
        }&lt;br /&gt;
        private System.Windows.Forms.DataGridView dataGridViewInventory;&lt;br /&gt;
        private System.Windows.Forms.Label label1;&lt;br /&gt;
        private System.Windows.Forms.Label label2;&lt;br /&gt;
        private System.Windows.Forms.DataGridView dataGridViewCustomers;&lt;br /&gt;
        private System.Windows.Forms.Label label3;&lt;br /&gt;
        private System.Windows.Forms.DataGridView dataGridViewOrders;&lt;br /&gt;
        private System.Windows.Forms.Button btnUpdateDatabase;&lt;br /&gt;
        private System.Windows.Forms.Button btnGetOrderInfo;&lt;br /&gt;
        private System.Windows.Forms.TextBox txtCustID;&lt;br /&gt;
      private System.Windows.Forms.Label label4;&lt;br /&gt;
      private System.Windows.Forms.GroupBox groupBox1;&lt;br /&gt;
        [STAThread]&lt;br /&gt;
        static void Main()&lt;br /&gt;
        {&lt;br /&gt;
            Application.EnableVisualStyles();&lt;br /&gt;
            Application.Run(new MainForm());&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Navigating Between Parent and Child Tables in an Untyped DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string sqlConnectString = &amp;quot;Data Source=(local);Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
            string sqlSelect = @&amp;quot;SELECT * FROM Sales.SalesOrderHeader;SELECT * FROM Sales.SalesOrderDetail;&amp;quot;;&lt;br /&gt;
            DataSet ds = new DataSet( );&lt;br /&gt;
            SqlDataAdapter da;&lt;br /&gt;
            da = new SqlDataAdapter(sqlSelect, sqlConnectString);&lt;br /&gt;
            da.MissingSchemaAction = MissingSchemaAction.AddWithKey;&lt;br /&gt;
            da.TableMappings.Add(&amp;quot;Table&amp;quot;, &amp;quot;SalesOrderHeader&amp;quot;);&lt;br /&gt;
            da.TableMappings.Add(&amp;quot;Table1&amp;quot;, &amp;quot;SalesOrderDetail&amp;quot;);&lt;br /&gt;
            da.Fill(ds);&lt;br /&gt;
            DataRelation dr = new DataRelation(&amp;quot;SalesOrderHeader_SalesOrderDetail&amp;quot;,&lt;br /&gt;
                ds.Tables[&amp;quot;SalesOrderHeader&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;],&lt;br /&gt;
                ds.Tables[&amp;quot;SalesOrderDetail&amp;quot;].Columns[&amp;quot;SalesOrderID&amp;quot;]);&lt;br /&gt;
            ds.Relations.Add(dr);&lt;br /&gt;
            for (int i = 0; i &amp;lt; 2; i++){&lt;br /&gt;
                DataRow rowHeader = ds.Tables[&amp;quot;SalesOrderHeader&amp;quot;].Rows[i];&lt;br /&gt;
                Console.WriteLine(&amp;quot;HEADER: OrderID = {0}, CustomerID = {1}&amp;quot;,rowHeader[&amp;quot;SalesOrderID&amp;quot;],rowHeader[&amp;quot;CustomerID&amp;quot;]);&lt;br /&gt;
                foreach (DataRow rowDetail in rowHeader.GetChildRows(dr))&lt;br /&gt;
                {&lt;br /&gt;
                    Console.WriteLine(rowDetail[&amp;quot;SalesOrderID&amp;quot;]);&lt;br /&gt;
                    Console.WriteLine(rowDetail[&amp;quot;SalesOrderDetailID&amp;quot;]);&lt;br /&gt;
                    Console.WriteLine(rowDetail[&amp;quot;LineTotal&amp;quot;]);&lt;br /&gt;
                    Console.WriteLine(rowDetail.GetParentRow(dr)[&amp;quot;CustomerID&amp;quot;]);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Read schema and reload data with DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
public class SaveDataSet&lt;br /&gt;
{&lt;br /&gt;
    private static string connectionString = &amp;quot;Data Source=localhost;Initial Catalog=Northwind;Integrated Security=SSPI&amp;quot;;&lt;br /&gt;
    public static void Main() &lt;br /&gt;
    {&lt;br /&gt;
        string SQL = &amp;quot;SELECT CategoryID, CategoryName,Description FROM Categories&amp;quot;;&lt;br /&gt;
        SqlConnection con = new SqlConnection(connectionString);&lt;br /&gt;
        SqlCommand com = new SqlCommand(SQL, con);&lt;br /&gt;
        SqlDataAdapter adapter = new SqlDataAdapter(com);&lt;br /&gt;
        DataSet ds = new DataSet(&amp;quot;Nortwind&amp;quot;);&lt;br /&gt;
        con.Open();&lt;br /&gt;
        adapter.FillSchema(ds, SchemaType.Mapped, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        adapter.Fill(ds, &amp;quot;Categories&amp;quot;);&lt;br /&gt;
        con.Close();&lt;br /&gt;
        ds.WriteXmlSchema(&amp;quot;mydata.xsd&amp;quot;);&lt;br /&gt;
        ds.WriteXml(&amp;quot;mydata.xml&amp;quot;);&lt;br /&gt;
        ds.Reset();&lt;br /&gt;
&lt;br /&gt;
        ds.ReadXmlSchema(&amp;quot;mydata.xsd&amp;quot;);&lt;br /&gt;
        ds.ReadXml(&amp;quot;mydata.xml&amp;quot;);&lt;br /&gt;
        Console.WriteLine(ds.GetXml());&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Retrieving Schema and Constraints for a DataSet==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            string sqlConnectString = &amp;quot;Data Source=(local);&amp;quot; +&lt;br /&gt;
                &amp;quot;Integrated security=SSPI;Initial Catalog=AdventureWorks;&amp;quot;;&lt;br /&gt;
            string sqlSelect = &amp;quot;SELECT ContactID,FirstName, LastName FROM Person.Contact&amp;quot;;&lt;br /&gt;
            SqlDataAdapter da = new SqlDataAdapter(sqlSelect, sqlConnectString);&lt;br /&gt;
            DataSet ds = new DataSet( );&lt;br /&gt;
            da.Fill(ds, &amp;quot;Contact&amp;quot;);&lt;br /&gt;
            Console.WriteLine(&amp;quot;GetXmlSchema( ) = {0}&amp;quot;, ds.GetXmlSchema( ));&lt;br /&gt;
            DataSet dsSchema = new DataSet( );&lt;br /&gt;
            da.FillSchema(dsSchema, SchemaType.Source, &amp;quot;Person.Contact&amp;quot;);&lt;br /&gt;
            da.Fill(dsSchema, &amp;quot;Contact&amp;quot;);&lt;br /&gt;
            Console.WriteLine(dsSchema.Tables.Count);&lt;br /&gt;
            Console.WriteLine(&amp;quot;GetXmlSchema( ) = {0}&amp;quot;, dsSchema.GetXmlSchema( ));&lt;br /&gt;
        }&lt;br /&gt;
    }&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Simple Query Dataset==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Data.SqlClient;&lt;br /&gt;
using System.Data.SqlTypes;&lt;br /&gt;
class MainClass&lt;br /&gt;
{&lt;br /&gt;
  [STAThread]&lt;br /&gt;
  static void Main(string[] args)&lt;br /&gt;
  {&lt;br /&gt;
    DataSet dset = new DataSet();&lt;br /&gt;
    string cstr = &amp;quot;server=(local)\\SQLEXPRESS;database=MyDatabase;Integrated Security=SSPI;&amp;quot;;&lt;br /&gt;
    using ( SqlConnection conn = new SqlConnection( cstr ) )&lt;br /&gt;
    {&lt;br /&gt;
      conn.Open();&lt;br /&gt;
      SqlDataAdapter da = new SqlDataAdapter( &amp;quot;select * from Employee&amp;quot;, conn );&lt;br /&gt;
      da.Fill( dset, &amp;quot;Employee&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
    foreach( DataRow dr in dset.Tables[ &amp;quot;Employee&amp;quot; ].Rows )&lt;br /&gt;
    {&lt;br /&gt;
      System.Console.WriteLine( &amp;quot;{0}&amp;quot;, dr[ &amp;quot;firstName&amp;quot; ] );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>