110,545
社区成员
发帖
与我相关
我的任务
分享
using (TransactionScope scope = new TransactionScope())
{
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(Configuration.ConnectionString))
{
bulkCopy.DestinationTableName = "GeographyPerformanceData";
bulkCopy.BatchSize = geoPerformTable.Rows.Count;
bulkCopy.WriteToServer(geoPerformTable);
bulkCopy.Close();
}
//批量更新(使用了SqlTranaction事务)
if (lstUpdateSql.Count > 0)
{
int updatedCount = KPIPerformanceDataBLL.Instance.BatchUpdate(lstUpdateSql);
if (updatedCount == 0)
{
ri.Success = false;
ri.Message = "导入失败!请重试。";
return ri;
}
}
//同步地区目标数据到经理信息,在sql语句中使用了tran事务
for (int rowIndex = 0; rowIndex < performData.Rows.Count; rowIndex++)
{
geographyCode = performData.Rows[rowIndex][4].ToString().Trim();
try
{
GeographyPerformanceDataBLL.Instance.SyncGeoTargetToManager(PerformanceEvalInfo.Id, geographyCode);
}
catch (Exception ex)
{
ri.Success = false;
ri.Message = "同步地区目标数据到经理信息出错!\n内部错误说明:" + ex.Message;
return ri;
}
}
//commit transaction
scope.Complete();
}
ALTER PROCEDURE [dbo].[INSERTKPIDATAFROMGEODATA]
(
@EMPLOYEEID UNIQUEIDENTIFIER, --经理ID
@GEOGRAPHYID UNIQUEIDENTIFIER,--负责地区ID
@EVALUATIONID UNIQUEIDENTIFIER--考核ID
--'40911A5E-2958-4790-BA2F-A701104B501E','0FAC819B-68ED-4A4E-AD74-31F44B6BAC80','C55B73DE-50D9-4391-8784-E60753C56BBF'
)
AS
BEGIN
SET NOCOUNT ON;
BEGIN TRY
BEGIN TRAN
//一些操作,绝无语法及数据错误。
COMMIT TRAN
RETURN 1
END TRY
BEGIN CATCH
ROLLBACK TRAN
RETURN 0
END CATCH
END