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";
SqlConnection myConn = new SqlConnection(
"User Id=sa;Server=localhost;Initial Catalog=Test;");
SqlScript myScript = new SqlScript(script,myConn);
myScript.Progress += new Devart.Common.ScriptProgressEventHandler(OnProgress);
myScript.Error += new Devart.Common.ScriptErrorEventHandler(OnError);
myConn.Open();
myScript.Execute();
myConn.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 myScript As Devart.Data.SqlServer.SqlScript
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 myConn As SqlConnection = New SqlConnection( _
"User Id=sa;Server=localhost;Initial Catalog=Test;")
myScript = New SqlScript(script, myConn)
myConn.Open()
myScript.Execute()
myConn.Close()
Console.ReadLine()
End Sub
Sub OnProgress(ByVal sender As Object, ByVal e As Devart.Common.ScriptProgressEventArgs) Handles myScript.Progress
Console.WriteLine(e.Text)
Console.WriteLine(" Successfully executed.")
End Sub
Sub OnError(ByVal sender As Object, ByVal e As Devart.Common.ScriptErrorEventArgs) Handles myScript.Error
e.Ignore = True
Console.WriteLine(e.Text)
Console.WriteLine(" Failed.")
End Sub
End Module