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

ExecuteNext(IDataReader) Method
Executes the next statement from the script.
Syntax
'Declaration
 
Public Function ExecuteNext( _
   ByRef reader As IDataReader _
) As Boolean
 

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