private async void ExecuteSqlScriptInEditor() { try { StartQuerying(); using (var repository = Helpers.RepositoryHelper.CreateRepository(DatabaseInfo)) { var sql = GetSqlFromSqlEditorTextBox(); var schemaChanged = false; if (sql.Length == 0) { return; } var sbSql = new StringBuilder(sql); sbSql = sbSql.Replace("\r", " \r"); sbSql = sbSql.Replace("GO \r", "GO\r"); sql = sbSql.Replace("GO \r", "GO\r").ToString(); var sw = new Stopwatch(); sw.Start(); var dataset = await Task.Run(() // ReSharper disable once AccessToDisposedClosure => repository.ExecuteSql(sql, out schemaChanged, _ignoreDdlErrors)); sw.Stop(); FormatTime(sw); if (dataset == null) { return; } ParseDataSetResultsToResultsBox(dataset); if (!schemaChanged) { return; } ExplorerControl?.RefreshTables(DatabaseInfo); } } catch (Exception sqlException) { ParseSqlErrorToResultsBox( RepositoryHelper.CreateEngineHelper(DatabaseInfo.DatabaseType).FormatError(sqlException)); } finally { StopQuerying(); } }
private void ExecuteSqlScriptInEditor() { try { using (var repository = DataConnectionHelper.CreateRepository(DatabaseInfo)) { var sql = GetSqlFromSqlEditorTextBox(); bool schemaChanged; if (sql.Length == 0) { return; } var sbSql = new StringBuilder(sql); sbSql = sbSql.Replace("\r", " \r"); sbSql = sbSql.Replace("GO \r", "GO\r"); sql = sbSql.Replace("GO \r", "GO\r").ToString(); var sw = new Stopwatch(); sw.Start(); var dataset = repository.ExecuteSql(sql, out schemaChanged, _ignoreDdlErrors); sw.Stop(); FormatTime(sw); if (dataset == null) { return; } ParseDataSetResultsToResultsBox(dataset); if (!schemaChanged) { return; } if (ExplorerControl != null) { ExplorerControl.RefreshTables(DatabaseInfo); } } } catch (Exception sqlException) { ParseSqlErrorToResultsBox(DataConnectionHelper.CreateEngineHelper(DatabaseInfo.DatabaseType).FormatError(sqlException)); } }