illustrates how to specify and use a relationship between two DataTable objects : DataTable « Database ADO.net « C# / C Sharp

C# / C Sharp
1. 2D Graphics
2. Class Interface
3. Collections Data Structure
4. Components
5. Data Types
6. Database ADO.net
7. Design Patterns
8. Development Class
9. Event
10. File Stream
11. Generics
12. GUI Windows Form
13. Language Basics
14. LINQ
15. Network
16. Office
17. Reflection
18. Regular Expressions
19. Security
20. Services Event
21. Thread
22. Web Services
23. Windows
24. XML
25. XML LINQ
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorial
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
C# / C Sharp » Database ADO.net » DataTableScreenshots 
illustrates how to specify and use a relationship between two DataTable objects

/*
Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110
*/

/*
  Example23_6.cs illustrates how to specify and use a
  relationship between two DataTable objects
*/

using System;
using System.Data;
using System.Data.SqlClient;

public class Example23_6
{

  public static void Main()
  {

    // formulate a string containing the details of the
    // database connection
    string connectionString =
      "server=localhost;database=Northwind;uid=sa;pwd=sa";

    // create a SqlConnection object to connect to the
    // database, passing the connection string to the constructor
    SqlConnection mySqlConnection =
      new SqlConnection(connectionString);

    // formulate a string containing a SELECT statement to
    // retrieve a row from the Customers table
    string selectString =
      "SELECT CustomerID, CompanyName " +
      "FROM Customers " +
      "WHERE CustomerID = 'ALFKI'";

    // create a SqlCommand object to hold the SELECT statement
    SqlCommand mySqlCommand = mySqlConnection.CreateCommand();

    // set the CommandText property of the SqlCommand object to
    // the SELECT string
    mySqlCommand.CommandText = selectString;

    // create a SqlDataAdapter object
    SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();

    // set the SelectCommand property of the SqlAdapter object
    // to the SqlCommand object
    mySqlDataAdapter.SelectCommand = mySqlCommand;

    // create a DataSet object to store the results of
    // the SELECT statement
    DataSet myDataSet = new DataSet();

    // open the database connection using the
    // Open() method of the SqlConnection object
    mySqlConnection.Open();

    // use the Fill() method of the SqlDataAdapter object to
    // retrieve the rows from the database, storing the rows
    // in a DataTable named "Customers"
    mySqlDataAdapter.Fill(myDataSet, "Customers");

    // formulate a string containing a SELECT statement to
    // retrieve the rows from the Orders table where the CustomerID
    // column is equal to ALFKI
    selectString =
      "SELECT OrderID, CustomerID " +
      "FROM Orders " +
      "WHERE CustomerID = 'ALFKI'";

    // set the CommandText property of the SqlCommand object to
    // the SELECT string
    mySqlCommand.CommandText = selectString;

    // use the Fill() method of the SqlDataAdapter object to
    // retrieve the rows from the database, storing the rows
    // in a DataTable named "Orders"
    mySqlDataAdapter.Fill(myDataSet, "Orders");

    // use the Add() method through the Relations property
    // to define a relationship between the Customers and
    // Orders DataTable objects
    myDataSet.Relations.Add(
      "Orders",
      myDataSet.Tables["Customers"].Columns["CustomerID"],
      myDataSet.Tables["Orders"].Columns["CustomerID"]
    );

    // display the rows in the Customers and Orders DataTable objects,
    // using the GetChildRows() method to get the orders for the
    // customer
    DataTable customers = myDataSet.Tables["Customers"];
    foreach (DataRow customer in customers.Rows)
    {
      Console.WriteLine("CustomerID = " + customer["CustomerID"]);
      Console.WriteLine("CompanyName = " + customer["CompanyName"]);

      DataRow[] orders = customer.GetChildRows("Orders");
      Console.WriteLine("This customer placed the following orders:");
      foreach (DataRow order in orders)
      {
        Console.WriteLine("  OrderID = " + order["OrderID"]);
      }

    }

    // close the database connection using the Close() method
    // of the SqlConnection object
    mySqlConnection.Close();

  }

}


           
       
Related examples in the same category
1. Print DataTable
2. illustrates the use of adding, modifying, and deleting a row in a DataTable object and synchronizing those changes with the
3. Filter sort based on DataTableCollection
4. Modify DataTable: insert data to database table
w__w__w___.__j___a__v___a2__s___.co_m___ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.