dotConnect for SQL Server Documentation
Devart.Common Namespace / DbScript Class / ExecuteNext(IDataReader) Method
DbDataReaderBase to store result set.
Example

In This Topic
    ExecuteNext(IDataReader) Method
    In This Topic
    Executes the next statement from the script.
    Syntax
    'Declaration
     
    Public Function ExecuteNext( _
       ByRef reader As IDataReader _
    ) As Boolean
    public bool ExecuteNext( 
       out IDataReader reader
    )

    Parameters

    reader
    DbDataReaderBase to store result set.

    Return Value

    true if there are more statements to execute; otherwise, false.
    Remarks

    Use ExecuteNext method to execute the statements from the script one by one. Text of the script should be specified by ScriptText property.

    After the method has executed the Progress event fires where you can obtain statement text and process query results. If the statement has produced an error, event Error fires.

    To restart execution from the beginning of the script call Reset method. When ScriptText property is modified DbScript automatically positions on the first statement.

    Example
    This sample demonstrates how to execute script and retrieve information about how many records were affected by a statement. For statements that return a result set the first column is written to console.
    string script =
      @"if object_id('dept', 'U') is not null
      drop table dept;
    CREATE TABLE Dept(
      DEPTNO int PRIMARY KEY NOT NULL,
      DNAME varchar(14) NULL,
      LOC varchar(13) NULL
    );"+
      "INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');"+
      "INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');"+
      "INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');"+
      "INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');"+
      "SELECT * FROM DEPT";
    SqlConnection myConn = new SqlConnection(
        "User Id=sa;Server=localhost;Initial Catalog=Test;");
    SqlScript myScript = new SqlScript(script,myConn);
    IDataReader myReader;
    myConn.Open();
    while (myScript.ExecuteNext(out myReader))
    {
      Console.WriteLine("Records affected " + myReader.RecordsAffected); 
      while (myReader.Read()) 
      { 
        Console.WriteLine(myReader.GetString(0)); 
      } 
      myReader.Close(); 
    }
    myConn.Close();
    Dim script As String = _
      "if object_id('dept', 'U') is not null" & _
      "  drop table dept;" & _
      "CREATE TABLE Dept(" & _
      "  DEPTNO int PRIMARY KEY NOT NULL," & _
      "  DNAME varchar(14) NULL," & _
      "  LOC varchar(13) NULL" & _
      ");" & _
      "INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');" & _
      "INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');" & _
      "INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');" & _
      "INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');" & _
      "SELECT * FROM DEPT"
    Dim myConn As SqlConnection = New SqlConnection( _
        "User Id=sa;Server=localhost;Initial Catalog=Test;")
    Dim myScript As SqlScript = New SqlScript(script, myConn)
    Dim myReader As IDataReader
    myConn.Open()
    While (myScript.ExecuteNext(myReader))
      Console.WriteLine("Records affected " & myReader.RecordsAffected)
      While myReader.Read()
        Console.WriteLine(myReader.GetString(0))
      End While
      myReader.Close()
    End While
    myConn.Close()
    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