C # и SQL Server: вставка / обновление действительно выполняется только при отладке
У меня есть довольно упрощенный API для добавления, а затем обновления небольшой таблицы в SQL Server. Он будет вставляться (или обновляться, что демонстрирует такое же странное поведение), когда я вхожу в свой код доступа к данным в отладчике, но не когда я перехожу через тот же код. Конечно, я пропустил что-то очевидное ...
int result = 0;
const string sql = "INSERT into MyProgress (ImportJobId, SiteCode, ProcessedAmount, TotalToProcess, ErrorCount, CreatedDateTime, LastModifiedDateTime) " +
"VALUES (@importJobId, @siteCode, @currentProgress, @totalPieces, 0, getdate(), getdate())";
using (var connection = GetSqlConnection())
using (var sqlCmd = GetSqlCommand(connection, sql))
{
sqlCmd.Parameters.AddWithValue("@importJobId", importJobId);
sqlCmd.Parameters.AddWithValue("@siteCode", siteCode);
sqlCmd.Parameters.AddWithValue("@currentProgress", currentProgress);
sqlCmd.Parameters.AddWithValue("@totalPieces", totalPieces);
//SqlParameter outputParameter = new SqlParameter("@ID", SqlDbType.Int, 4);
//outputParameter.Direction = ParameterDirection.InputOutput;
//sqlCmd.Parameters.Add(outputParameter);
sqlCmd.BeginExecuteNonQuery();
//result = (int) (outputParameter.Value ?? -1);
}
return result;
Для любопытных,GetSqlConnection()
выглядит так:
SqlConnection connection = new SqlConnection(_ConnectionString);
connection.Open();
return connection;