Continuing to add data to the database when a single record fails is almost always wrong. Records are very often related. They are a collection of transactions in a bank account. Or a package of orders from a customer. Adding them with the absence of one of them is always a problem.
Not only are you giving your client a huge problem with a new batch containing a single corrected record, you too easily allow someone to simply ignore the error. A type of error that is not detected or causes problems until much later. Invariably with huge costs associated with fixing the error.
. , . , , SqlTransaction BeginTransaction() . Call Commit(), , Rollback() catch.
, , . . .