dotConnect for SQL Server Documentation
Devart.Data.SqlServer Namespace / SqlDataTable Class
Members Example

In This Topic
    SqlDataTable Class
    In This Topic
    Represents a single object that provides all of the functionality needed to retrieve and manipulate data from a SQL Server data source.
    Syntax
    Remarks

    The SqlDataTable class extends the Devart.Common.DbDataTable class to provide a single object that can be used to access and update data from a data source. Actually, SqlDataTable replaces SqlConnection, SqlCommand, SqlDataAdapter, and SqlCommandBuilder classes with all-in-one class. When a SqlDataTable object is created, the default values of its constituent parts are set to reasonable defaults, meaning that the programmer can create a single object and immediately use it to retrieve and manipulate data from a data source.

    By using SqlDataTable you can avoid explicit creation of SqlConnection and SqlCommand objects. When appropriate form of constructor is used, these objects are created automatically when you retrieve data from a data source. It allows you to cut down the size of the written code.

    SqlDataTable allows you to automate loading of subsets of data either by selecting Devart.Common.DbTable.StartRecord and MaxRecords properties or by using Fill or FillPage methods that support passing parameter values into the query text.

    The SqlDataTable class is designed to employ both connected and disconnected data access models. It also provides functionality for asynchronous fill operations.

    The SqlDataTable class can be fully adjusted at design-time. You may retrieve data at design-time from a data source by setting Devart.Common.DbTable.Active property to true.

    For more information on advanced features of SqlDataTable please refer to topic SqlDataTable Advanced Features.

    This class supports cross-form data binding with the InterForm Technology.

    This class is available only in Professional Edition.

    Example
    This sample shows easiness of use of SqlDataTable. The sample creates a SqlDataTable object, passing it SQL query text and connection string, retrieves data from a table and modifies it. Content of the table is printed to console then. Notice that no other component needs to be created by programmer.
    public void UseDataTable()
    {
      SqlDataTable myDataTable = new SqlDataTable("SELECT * FROM Test.Dept", 
          "User Id=sa;Server=localhost;Initial Catalog=Test;");
      try
      {
        myDataTable.FetchAll = true;
            myDataTable.Active = true;
        myDataTable.Rows[3]["DName"] = "Researches";
        Console.WriteLine(myDataTable.Update()+" rows updated.");
        foreach(DataRow myRow in myDataTable.Rows)
        {
          foreach(DataColumn myCol in myDataTable.Columns)
          {
            Console.Write(myRow[myCol]+"\t");
          }
          Console.WriteLine();
        }
      }
      finally
      {
        myDataTable.Active = false;
      }
    }
    Public Sub UseDataTable()
      Dim myDataTable As SqlDataTable = New SqlDataTable("SELECT * FROM Test.Dept", _
          "User Id=sa;Server=localhost;Initial Catalog=Test;")
      Try
        myDataTable.FetchAll = True
            myDataTable.Active = True
        myDataTable.Rows(3)("DName") = "Researches"
        Console.WriteLine(myDataTable.Update() & " rows updated.")
        Dim myRow As DataRow
        Dim myCol As DataColumn
        For Each myRow In myDataTable.Rows
          For Each myCol In myDataTable.Columns
            Console.Write(myRow(myCol) & Chr(9))
          Next myCol
          Console.WriteLine()
        Next myRow
      Finally
        myDataTable.Active = False
      End Try
    End Sub
    Inheritance Hierarchy

    System.Object
       System.ComponentModel.MarshalByValueComponent
          System.Data.DataTable
             Devart.Common.DbDataTable
                Devart.Data.SqlServer.SqlDataTable

    Requirements

    Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

    See Also