The event handler receives an argument of type ScriptErrorEventArgs containing data related to this event. The following ScriptErrorEventArgs properties provide information specific to this event.
Property | Description |
---|
Exception | Gets the System.Exception instance that DbScript throws. |
Ignore | Gets or sets whether the current error will be ignored or not. |
Length | Gets length of statement where an error occurred. |
LineNumber | Gets number of the line where an error occurred. |
LinePosition | Gets position in the line where an error occurred. |
Offset | Gets offset of statement where an error occurred. |
StatementType | Gets type of the statement that caused an error. |
Text | Gets SQL statement where an error occurred. |
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 =
"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 = _
"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