Я вставляю список данных в таблицу базы данных. Все прекрасно работает, но когда я вижу свою таблицу в базе данных, она пуста! В нем нет записи.C# для цикла в транзакции, но данные не вставлены
Вот моя функция:
public int addBulkLeadStages(List<LeadStage> allLeadStages)
{
//throw new NotImplementedException();
SqlConnection connection;
SqlCommand cmd;
int effectedRows = 0;
int rowsCount = 0;
int updatedRowsCount = 0;
using (TransactionScope trans = new TransactionScope())
{
using (connection = new SqlConnection(SalesForceDBManager.getConnectionString(SalesForceDB.CONNECTION_STRING)))
{
//Open Connection
connection.Open();
//Craete Command
cmd = connection.CreateCommand();
int noOfLeadStages = allLeadStages.Count;
for (int i = 0; i < noOfLeadStages; i++)
{
//Check If entry already available
if (isLeadStageRecordExist(allLeadStages[i].ID,connection))
{
//Update Existing Record
updatedRowsCount = updateLeadStage(connection, allLeadStages[i].ID, allLeadStages[i]);
}
else
{
cmd.CommandText = "INSERT INTO " + SalesForceDB.LeadStage.TABLE_LEAD_STAGE + "(" +
SalesForceDB.LeadStage.COLUMN_ID + "," + SalesForceDB.LeadStage.COLUMN_NAME + "," +
SalesForceDB.LeadStage.COLUMN_COMMENTS_REMARKS + "," + SalesForceDB.LeadStage.COLUMN_ENTRY_POINT + "," +
SalesForceDB.LeadStage.COLUMN_EXIT_POINT + "," + SalesForceDB.CommonColumns.COLUMN_IS_ACTIVE + "," +
SalesForceDB.LeadStage.COLUMN_SEQUENCE_NO + "," + SalesForceDB.LeadStage.COLUMN_STAGE_DESCRIPTION + "," +
SalesForceDB.CommonColumns.COLUMN_CREATED_BY + "," + SalesForceDB.CommonColumns.COLUMN_CREATED_DATE + "," +
SalesForceDB.CommonColumns.COLUMN_LAST_MODIFIED_BY + "," + SalesForceDB.CommonColumns.COLUMN_LAST_MODIFIED_DATE + ")" +
" VALUES (@ID,@StageName,@CommentsRemarks,@EntryPoint,@ExitPoint,@IsActive,@SequenceNo,@StageDesc,@CreatedBy,@CreatedDate," +
"@LastModifiedBy,@LastModifiedDate)";
//Adding Command Parameters
cmd.Parameters.AddWithValue("@ID", allLeadStages[i].ID);
cmd.Parameters.AddWithValue("@StageName", allLeadStages[i].Name);
cmd.Parameters.AddWithValue("@CommentsRemarks", allLeadStages[i].Comments);
cmd.Parameters.AddWithValue("@EntryPoint", allLeadStages[i].EntryPoint);
cmd.Parameters.AddWithValue("@ExitPoint", allLeadStages[i].ExitPoint);
cmd.Parameters.AddWithValue("@IsActive", allLeadStages[i].IsActive);
cmd.Parameters.AddWithValue("@SequenceNo", allLeadStages[i].SequenceNo);
cmd.Parameters.AddWithValue("@StageDesc", allLeadStages[i].Description);
cmd.Parameters.AddWithValue("@CreatedDate", allLeadStages[i].CreatedDate);
cmd.Parameters.AddWithValue("@CreatedBy", allLeadStages[i].CreatedBy);
cmd.Parameters.AddWithValue("@LastModifiedBy", allLeadStages[i].LastModifiedBy);
cmd.Parameters.AddWithValue("@LastModifiedDate", allLeadStages[i].LastModifiedDate);
//Execute query
effectedRows = cmd.ExecuteNonQuery();
rowsCount += effectedRows;
cmd.Parameters.Clear();
}
}
}
return rowsCount;
}
}
И это моя строка соединения.
Data Source=FAIZAN;Initial Catalog=SalesForceBuild015;Integrated Security=SSPI
Он отлично работает! Список ввода содержит 11 записей и выводит точный номер 11, но таблица базы данных пуста! Я не могу понять, почему. Что мне здесь не хватает?
В порядке ли с TransactionScope?
Спасибо!
Вам необходимо зафиксировать транзакцию, по умолчанию они будут откатываться, если не выполняется явная фиксация. –