private bool RunActionAsSql(DbDiffAction action) { string sql = action.GenerateSql(m_dstDb); if (SqlConfirmForm.Run(sql)) { m_dstDb.Connection.Invoke(() => { var con = m_dstDb.Connection.SystemConnection; var tran = con.BeginTransaction(); var sqlo = new ConnectionSqlOutputStream(con, tran, m_dstDb.Dialect); try { con.ExecuteNonQueries(sql, m_dstDb.Connection.Dialect, tran, null); } catch { tran.Rollback(); throw; } tran.Commit(); }); //var dmp = m_dstDb.Dialect.CreateDumper(sqlo, new SqlFormatProperties()); //dmp.TargetDb = m_dstDb; //m_dstDb.Connection.Invoke(() => action.GenerateScript(dmp)); return(true); } return(false); }
private void UpdateAlterCode() { if (m_shownAction != null) { try { codeEditor1.Text = m_shownAction.GenerateSql(m_dstDb); } catch (Exception err) { codeEditor1.Text = Texts.Get("s_error") + ":" + err.Message; } } else { m_shownAction = null; codeEditor1.Text = ""; } }