Ejemplo n.º 1
0
        private void GenerateCrud()
        {
            IList <TableColumnSpec> columns = ProgrammabilityHelper.GetTableColumnsSpecification(_cp, _initialTableName);
            bool   canGenerate  = false;
            string prefix       = String.Empty;
            string group        = String.Empty;
            string tableNameAbb = String.Empty;
            string operation    = String.Empty;
            string type         = String.Empty;

            _script = String.Empty;

            foreach (DataRow row in _tbl.Rows)
            {
                canGenerate = (bool)row["Generate"];
                if (!canGenerate)
                {
                    continue;
                }

                prefix       = (string)row["Prefix"];
                group        = (string)row["Group"];
                tableNameAbb = (string)row["TableName"];
                operation    = (string)row["Operation"];
                type         = (string)row["Type"];

                if (type == "list")
                {
                    _script += ProgrammabilityHelper.GenerateCrudProc_List(columns, _cp.CurrentUsername, prefix, group, tableNameAbb, operation, _initialFullTableName);
                }
                else if (type == "get")
                {
                    _script += ProgrammabilityHelper.GenerateCrudProc_Get(columns, _cp.CurrentUsername, prefix, group, tableNameAbb, operation, _initialFullTableName);
                }
                else if (type == "insert")
                {
                    _script += ProgrammabilityHelper.GenerateCrudProc_Insert(columns, _cp.CurrentUsername, prefix, group, tableNameAbb, operation, _initialFullTableName);
                }
                else if (type == "update")
                {
                    _script += ProgrammabilityHelper.GenerateCrudProc_Update(columns, _cp.CurrentUsername, prefix, group, tableNameAbb, operation, _initialFullTableName);
                }
                else if (type == "delete")
                {
                    _script += ProgrammabilityHelper.GenerateCrudProc_Delete(columns, _cp.CurrentUsername, prefix, group, tableNameAbb, operation, _initialFullTableName);
                }
            }
            DialogResult = DialogResult.OK;
        }
Ejemplo n.º 2
0
        public void OpenSelectedObjects( )
        {
            string error = String.Empty;
            IList <frmDataViewer> viewers = new List <frmDataViewer>();

            foreach (TreeNode node in tv.SelectedNodes)
            {
                ObjectGroupingItemData data = ObjectGroupingItemDataFactory.GetNodeData(node);
                if (data == null)
                {
                    continue;
                }

                ObjectInfo objInfo = ProgrammabilityHelper.GetObjectInfo(_connParams, String.Empty, data.Name);
                if (objInfo == null)
                {
                    error += " - " + data.Name + "\r\n";
                    continue;
                }

                if (!DBConstants.DoesObjectTypeHoldsData(data.Type ?? -1))
                {
                    continue;
                }
                string caption    = data.Name + "{" + cmbDatabases.Text + " on " + cmbServers.Text + "}";
                string script     = " select * from [" + data.Name + "]";
                bool   isReadOnly = (data.Type == DBObjectType.View) ? true : false;

                frmDataViewer viewer = DataViewerFactory.CreateDataViewer(_connParams, cmbDatabases.Text, data.Name, caption, script, isReadOnly, false);
                viewers.Add(viewer);
            }

            foreach (frmDataViewer viewer in viewers)
            {
                viewer.LoadData(true);
                DataViewerFactory.ShowDataViewer(viewer);
            }

            if (!String.IsNullOrEmpty(error))
            {
                MessageService.ShowError("Objects listed below do not exist in the database!\r\n" + error);
            }
        }
Ejemplo n.º 3
0
        public void ModifySelectedObjects( )
        {
            string error = String.Empty;

            IList <frmScriptEditor> editors = new List <frmScriptEditor>();

            foreach (TreeNode node in tv.SelectedNodes)
            {
                ObjectGroupingItemData data = ObjectGroupingItemDataFactory.GetNodeData(node);
                if (data == null)
                {
                    continue;
                }

                ObjectInfo objInfo = ProgrammabilityHelper.GetObjectInfo(_connParams, String.Empty, data.Name);
                if (objInfo == null)
                {
                    error += " - " + data.Name + "\r\n";
                    continue;
                }

                if (!DBConstants.DoesObjectTypeHasScript(data.Type ?? -1))
                {
                    continue;
                }
                string          script = ScriptingHelper.GetAlterScript(_connParams, _connParams.Database, objInfo.ObjectID, objInfo.ObjectType);
                frmScriptEditor editor = ScriptEditorFactory.Create(objInfo.ObjectName, script, objInfo.ObjectID, objInfo.ObjectType, _connParams, cmbDatabases.Text);
                editors.Add(editor);
            }

            foreach (frmScriptEditor editor in editors)
            {
                ScriptEditorFactory.ShowScriptEditor(editor);
            }

            if (!String.IsNullOrEmpty(error))
            {
                MessageService.ShowError("Objects listed below do not exist in the database!\r\n" + error);
            }
        }
Ejemplo n.º 4
0
        private void ModifySelectedObjectInScriptWindow()
        {
            TreeNode node = tv.SelectedNode;

            if (node == null)
            {
                return;
            }

            NodeData data = NodeDataFactory.GetNodeData(node.Tag);

            if (data == null)
            {
                MessageBox.Show("Node data not assigned", "Application Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            frmScriptEditor editor = new frmScriptEditor();

            editor.Text    = data.Name;
            editor.TabText = editor.Text;

            if (DockPanel.DocumentStyle == DocumentStyles.SystemMdi)
            {
                editor.MdiParent = this;
                editor.Show();
            }
            else
            {
                editor.Show(DockPanel);
            }

            ProgrammabilityHelper.SqlConn = _connections[data.ConnParams.Name];
            string script = ProgrammabilityHelper.GetObjectCreateScript(data.ID);

            script = ProgrammabilityHelper.ReplaceCreateWithAlter(data.Type, script);

            editor.InitializeScriptEditor(script, data.Type, data.ConnParams, data.DBName);
        }
Ejemplo n.º 5
0
        private IList <DataSet> ExecuteScript(BackgroundWorker bw, string queryText)
        {
            int totalLineCnt   = 0;
            int currentLineCnt = 0;

            _grids.Clear();

            IList <DataSet> dataSets = new List <DataSet>();

            if (workerThread.CancellationPending)
            {
                return(dataSets);
            }

            _conn.InfoMessage += new SqlInfoMessageEventHandler(HandleSqlInfo);
            try
            {
                IList <string> batches = ProgrammabilityHelper.SplitBatches(queryText);
                while (batches.Count > 0)
                {
                    try
                    {
                        DataSet toFill = new DataSet();
                        dataSets.Add(toFill);

                        string batch = batches[0];
                        currentLineCnt = LineCount(batch);
                        totalLineCnt  += currentLineCnt;

                        if (String.IsNullOrEmpty(batch))
                        {
                            batches.RemoveAt(0);
                            continue;
                        }

                        batches.RemoveAt(0);

                        _cmd = new SqlCommand(batch, _conn);
                        _cmd.CommandTimeout = 30;


                        SqlDataAdapter adapter = new SqlDataAdapter();
                        adapter.SelectCommand = _cmd;
                        int recordsAffected = adapter.Fill(toFill);

                        if (batches.Count == 0)
                        {
                            _sqlMessages.Add(SqlMessage.CreateInfoMessage("Command(s) completed sucesfully"));
                            _sqlMessages.Add(SqlMessage.CreateMessage(""));
                        }

                        if (toFill.Tables.Count == 0)
                        {
                            _sqlMessages.Add(SqlMessage.CreateInfoMessage("( " + recordsAffected.ToString() + " row(s) affected ) "));
                        }
                    }
                    catch (SqlException sqlEx)
                    {
                        int lineNo = totalLineCnt - currentLineCnt + sqlEx.LineNumber;
                        _sqlMessages.Add(SqlMessage.CreateErrorMessage(sqlEx.Message, lineNo, sqlEx.Number, sqlEx.State));
                    }
                    catch (Exception ex)
                    {
                        _sqlMessages.Add(SqlMessage.CreateErrorMessage("Exception of type \"" + ex.GetType().ToString() + "\": " + ex.Message, -1, -1, -1));
                    }
                }
            }
            finally
            {
                _conn.InfoMessage -= new SqlInfoMessageEventHandler(HandleSqlInfo);
            }

            return(dataSets);
        }