dotConnect for SQLite 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 =
    @"CREATE TABLE DEPT (
      DEPTNO INTEGER PRIMARY KEY,
      DNAME VARCHAR(14),
      LOC VARCHAR(13)
    );"+
      "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";
    SQLiteConnection sqConn = new SQLiteConnection(
        "DataSource=mydatabase.db;");
    SQLiteScript sqScript = new SQLiteScript(script,sqConn);
    IDataReader sqReader;
    sqConn.Open();
    while (sqScript.ExecuteNext(out sqReader))
    {
      Console.WriteLine("Records affected " + sqReader.RecordsAffected); 
      while (sqReader.Read()) 
      { 
        Console.WriteLine(sqReader.GetString(0)); 
      } 
      sqReader.Close(); 
    }
    sqConn.Close();
    Dim script As String = _
    @"CREATE TABLE DEPT (" & _
      "  DEPTNO INTEGER PRIMARY KEY," & _
      "  DNAME VARCHAR(14)," & _
      "  LOC VARCHAR(13)" & _
      ");" & _
      "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 sqConn As SQLiteConnection = New SQLiteConnection( _
        "DataSource=mydatabase.db;")
    Dim sqScript As SQLiteScript = New SQLiteScript(script, sqConn)
    Dim sqReader As IDataReader
    sqConn.Open()
    While (sqScript.ExecuteNext(sqReader))
      Console.WriteLine("Records affected " & sqReader.RecordsAffected)
      While sqReader.Read()
        Console.WriteLine(sqReader.GetString(0))
      End While
      sqReader.Close()
    End While
    sqConn.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