the btnAdd.Enabled = true; line is in the finally block so it will always run. You might want to put that in the try block. Also if you do this: int intAffectedRecords = cmSQL.ExecuteNonQuery(); you can get the count of affected records so you could then say if there were records affected the button would be enabled: btnAdd.Enabled = (intAffectedRecords > 1) ? true : false; You can also just use the Exception exp's ToString method to see the entire error message: Response.Write(exp.ToString()); Dirk Watkins