|
C# Code:
//Declare variable to store exception
private Exception _sqlInfoEx = null;
/// <summary>
/// SqlInfoMessageEventHandler for handling raise error excpetions
/// </summary>
/// <param name="sender">object</param>
/// <param name="e">SqlInfoMessage EventArgs</param>
public void OnSqlInfoMessageEventHandler(object sender, SqlInfoMessageEventArgs e)
{
//checks for any errors.
if (e.Errors.Count > 0)
{
StringBuilder _sbError = new StringBuilder();
foreach (SqlError _error in e.Errors)
{
_sbError.AppendLine(_error.Number.ToString() + " = " + _error.Message);
}
_sqlInfoEx = new Exception(_sbError.ToString());
}
}
/// <summary>
/// Update user button click event
/// </summary>
/// <param name="sender">object</param>
/// <param name="e">event arguments</param>
private void btnUpdateUser_Click(object sender, EventArgs e)
{
_sqlInfoEx = null;
try
{
string _strConn = @"Data Source=.\SQLEXPRESS;"
+"Initial Catalog=Student;User ID=sa"; using (SqlConnection conn = new SqlConnection(_strConn))
{
//this event will execute if there are any //information coming from the sql server
conn.InfoMessage += new
SqlInfoMessageEventHandler(OnSqlInfoMessageEventHandler);
conn.Open();
SqlCommand _cmd = new SqlCommand("UpdateUser", conn);
_cmd.CommandType = CommandType.StoredProcedure;
_cmd.Parameters.Add(new SqlParameter("@UserId",SqlDbType.Int));
_cmd.Parameters[0].Value = 0;
_cmd.Parameters.Add(new SqlParameter("@UserName",SqlDbType.VarChar,50));
_cmd.Parameters[1].Value = "gaonkaramit";
_cmd.Parameters.Add(new SqlParameter("@Details", SqlDbType.VarChar, 100));
_cmd.Parameters[1].Value = "some details";
int _result = _cmd.ExecuteNonQuery();
//checking for exception
if (_sqlInfoEx != null)
{
throw _sqlInfoEx;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
} |