The event handler receives an argument of type ScriptProgressEventArgs containing data related to this event. The following ScriptProgressEventArgs properties provide information specific to this event.
Property | Description |
---|
Length | Gets length of the statement in symbols. |
LineNumber | Gets number of line in the whole script where the statement can be located. |
LinePosition | Gets position of the statement in its line. |
Offset | Gets offset of the statement in the whole script text. |
StatementType | Gets type of the statement that is executed. |
Text | Gets SQL statement that has been executed. |
This sample demonstrates how to execute script and retrieve information about execution flow using
Progress and
Error events.
[STAThread]
static void Main(string[] args)
{
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);
sqScript.Progress += new Devart.Common.ScriptProgressEventHandler(OnProgress);
sqScript.Error += new Devart.Common.ScriptErrorEventHandler(OnError);
sqConn.Open();
sqScript.Execute();
sqConn.Close();
}
static void OnProgress(object sender, Devart.Common.ScriptProgressEventArgs e)
{
Console.WriteLine(e.Text);
Console.WriteLine(" Successfully executed.");
}
static void OnError(object sender, Devart.Common.ScriptErrorEventArgs e)
{
e.Ignore = true;
Console.WriteLine(e.Text);
Console.WriteLine(" Failed.");
}
Module Module1
Friend WithEvents sqScript As Devart.Data.SQLite.SQLiteScript
Sub Main()
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;")
sqScript = New SQLiteScript(script, sqConn)
sqConn.Open()
sqScript.Execute()
sqConn.Close()
Console.ReadLine()
End Sub
Sub OnProgress(ByVal sender As Object, ByVal e As Devart.Common.ScriptProgressEventArgs) Handles sqScript.Progress
Console.WriteLine(e.Text)
Console.WriteLine(" Successfully executed.")
End Sub
Sub OnError(ByVal sender As Object, ByVal e As Devart.Common.ScriptErrorEventArgs) Handles sqScript.Error
e.Ignore = True
Console.WriteLine(e.Text)
Console.WriteLine(" Failed.")
End Sub
End Module