Exemple #1
0
        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();
            }
        }
Exemple #2
0
 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));
     }
 }