Ejemplo n.º 1
0
 private void RefreshDLL()
 {
     fctDLL.Text             = ViewObject.SQL;
     fctCREATEINSERTSQL.Text = (cbAlterView.Checked)
         ? (cbPretty.Checked) ? AppStaticFunctionsClass.MakeSqlPretty(ViewObject.CREATEINSERT_SQL) : ViewObject.CREATEINSERT_SQL
         : (cbPretty.Checked) ? AppStaticFunctionsClass.MakeSqlPretty(ViewObject.CREATE_SQL) : ViewObject.CREATE_SQL;
 }
Ejemplo n.º 2
0
        private void Connect()
        {
            string _funcStr = "Connect()";

            pnlConnectState.BackColor = System.Drawing.Color.Yellow;
            Application.DoEvents();
            //EditToData();
            string lfText = string.Empty;

            try
            {
                lfText = (rb25_32.Checked || rb25_64.Checked)
                    ? AppStaticFunctionsClass.GetLifetime(txtConnectionString.Text, false)
                    : AppStaticFunctionsClass.GetLifetime(txtConnectionString.Text, true);

                pnlConnectState.BackColor = System.Drawing.Color.Green;
            }
            catch (Exception ex)
            {
                NotifiesClass.Instance.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{ex.Message}->{_funcStr}", ex), _funcStr);
                lfText = "-1";
            }

            if (lfText == "-1")
            {
                pnlConnectState.BackColor = System.Drawing.Color.Red;
            }

            txtLifetime.Text = lfText;
        }
Ejemplo n.º 3
0
        private void Create()
        {
            //var _sql = new SQLScriptingClass(_dbReg,"SCRIPT",_localNotify);
            string _connstr  = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql      = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");
            var    riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var    riFailure = riList.Find(x => x.commandDone == false);

            oldIndexColumnName = _indexObject.Name;

            if (_dataFilled)
            {
                MakeSQL();
            }

            AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);


            string info = (riFailure == null)
                ? $@"Index {_dbReg.Alias}->{_indexObject.Name} updated."
                : $@"Index {_dbReg.Alias}->{_indexObject.Name} not updated !!!{Environment.NewLine}{riFailure.nErrors} errors, last error:{riFailure.lastError}";

            DbExplorerForm.Instance().DbExlorerNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadIndex, $@"->Proc:{Name}->Create");
            _localNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadIndex, $@"->Proc:{Name}->Create");
        }
Ejemplo n.º 4
0
        private void Create()
        {
            //var _sql = new SQLScriptingClass(_dbReg,"SCRIPT",_localNotify);
            string _connstr  = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql      = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");
            var    riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var    riFailure = riList.Find(x => x.commandDone == false);

            if (riFailure == null)
            {
                old_constraint_name = txtConstraintName.Text;
            }

            AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);

            string info = (riFailure == null)
                ? $@"Foreign key for {_dbReg.Alias}->{ForeignKeyObject.SourceTableName} updated."
                : $@"Foreign key for {_dbReg.Alias}->{ForeignKeyObject.SourceTableName} not updated !!!{Environment.NewLine}{riFailure.nErrors} errors, last error:{riFailure.lastError}";

            DbExplorerForm.Instance().DbExlorerNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadAllForeignKeys, $@"->Proc:{Name}->Create");
            _localNotify.Notify.RaiseInfo(info);


            BearbeitenMode = StateClasses.EditStateClass.eBearbeiten.eEdit;
        }
Ejemplo n.º 5
0
        private void ExecueteSQL()
        {
            string _connstr = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql     = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");

            //_sql.ScriptNotify.Register4Info(InfoRaised);
            _sql.ScriptNotify.Register4Error(ErrorRaised);

            var riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var riFailure = riList.Find(x => x.commandDone == false);

            EditToData();
            if (riFailure == null)
            {
                OrgFieldObject = FieldObject.DeepClone();
                BearbeitenMode = StateClasses.EditStateClass.eBearbeiten.eEdit;
                ObjectToEdit(FieldObject);
                MakeSQL();
            }
            AppStaticFunctionsClass.SendResultNotify(riList, localNotify);

            string info = (riFailure == null)
                ? $@"Fields for {_dbReg.Alias}->{FieldObject.TableName} updated."
                : $@"Fields for {_dbReg.Alias}->{FieldObject.TableName} not updated !!!{Environment.NewLine}{riFailure.nErrors} errors";

            DbExplorerForm.Instance().DbExlorerNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadFields, $@"->Proc:{Name}->ExecueteSQL()");
            _localTableNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadFields);
        }
Ejemplo n.º 6
0
        private void hsRunStatement_Click(object sender, EventArgs e)
        {
            //var _sql = new SQLScriptingClass(_dbReg,"SCRIPT",_localNotify);
            string _connstr  = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql      = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");
            var    riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var    riFailure = riList.Find(x => x.commandDone == false);
            var    riOk      = riList.Find(x => x.commandDone == true);
            long   costs     = AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);

            var sb = new StringBuilder();

            if (riFailure != null)
            {
                messages_count++;
                if (messages_count > 0)
                {
                    sb.Append($@"Messages ({messages_count}) ");
                }
                if (error_count > 0)
                {
                    sb.Append($@"Errors ({error_count})");
                }
            }

            tabPageMessages.Text = sb.ToString();
            fctMessages.ScrollLeft();
            lblUsedMs.Text = costs.ToString();
        }
Ejemplo n.º 7
0
        private void hsSaveSourceCodes_Click(object sender, EventArgs e)
        {
            var items = selDBObjects.CheckedItemDatas;

            pbExport.Minimum = 0;
            pbExport.Value   = 0;
            pbExport.Maximum = items.Count;
            if (ckDeleteOldSourceFiles.Checked)
            {
                string[] files = Directory.GetFiles(txtSourceCodePath.Text);
                foreach (string file in files)
                {
                    try
                    {
                        File.Delete($@"{file}");
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }
            var gsource = MakeGlobalCode();

            try
            {
                var fi = new FileInfo(txtSourceCodePath.Text + "\\DBGlobalFunctionsClass.cs");
                if (fi.Directory != null && fi.Directory.Exists)
                {
                    File.WriteAllText(txtSourceCodePath.Text + "\\DBGlobalFunctionsClass.cs", gsource);
                }
            }
            catch (Exception ex)
            {
                _localNotify?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"hsSaveSourceCodes_Click", ex));
            }


            foreach (var itm in items)
            {
                var source = itm.Text.StartsWith("Cb") ? MakeCbSourceCode(itm.Object) : MakeSourceCode(itm.Object);

                try
                {
                    var fi = new FileInfo(txtSourceCodePath.Text + "\\" + itm.Text + "Class.cs");
                    if (fi.Directory != null && fi.Directory.Exists)
                    {
                        File.WriteAllText(txtSourceCodePath.Text + "\\" + itm.Text + "Class.cs", source);
                    }
                }
                catch (Exception ex)
                {
                    _localNotify?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"hsSaveSourceCodes_Click", ex));
                }

                pbExport.Value++;
                gbExportProgress.Text = LanguageClass.Instance().GetString("PROGRESS") + $@" ({pbExport.Value}/{pbExport.Maximum})";
                Application.DoEvents();
            }
        }
Ejemplo n.º 8
0
 private void RefreshDLL()
 {
     fctDLL.Text             = ViewObject.SQL;
     fctCREATEINSERTSQL.Text = (cbAlterView.Checked)
         ? (cbPretty.Checked) ? AppStaticFunctionsClass.MakeSqlPretty(ViewObject.CREATEINSERT_SQL) : ViewObject.CREATEINSERT_SQL
         : (cbPretty.Checked) ? AppStaticFunctionsClass.MakeSqlPretty(ViewObject.CREATE_SQL) : ViewObject.CREATE_SQL;
     if (!fctCREATEINSERTSQL.Text.Trim().EndsWith(";"))
     {
         fctCREATEINSERTSQL.Text += ";";
     }
 }
Ejemplo n.º 9
0
        private void ExecueteSQL()
        {
            string _connstr = ConnectionStrings.Instance.MakeConnectionString(DBReg);
            var    _sql     = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");

            //_sql.ScriptNotify.Register4Info(InfoRaised);
            _sql.ScriptNotify.Register4Error(ErrorRaised);

            var riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var riFailure = riList.Find(x => x.commandDone == false);

            AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);

            _localNotify.Notify.RaiseInfo("info", StaticVariablesClass.ReloadFields);
            RefreshUsers();
        }
Ejemplo n.º 10
0
        private void LoadUserDesign()
        {
            _ss.SharedFolder        = ApplicationPathClass.Instance.GetFullPath(Application.UserAppDataPath);
            _ss.StorageName         = Name;
            _ss.DestroyWhenDisposed = false;
            try
            {
                var mw2 = (MerkeWerte)_ss[Name];
                if (mw2 == null)
                {
                    return;
                }
                _mw = mw2;

                AddCbXMLFileText(_mw.XmlDataFileName);
                if (!string.IsNullOrEmpty(_mw.XmlDataFileName))
                {
                    fctXML.OpenFile(_mw.XmlDataFileName);
                }
                AddCbXSDFileText(_mw.XsdSchemaFileName);
                if (!string.IsNullOrEmpty(_mw.XsdSchemaFileName))
                {
                    fctXSD.OpenFile(_mw.XsdSchemaFileName);
                }
                AddCbReportFileText(_mw.ReportFileName);
                if (!string.IsNullOrEmpty(_mw.ReportFileName))
                {
                    fctFRX.OpenFile(_mw.ReportFileName);
                }

                foreach (ReportSqlCommands scmd in _mw.SqlCommands)
                {
                    AddItem(scmd.cmd, scmd.caption);
                }

                if (lvCreateStatements.Items.Count > 0)
                {
                    lvCreateStatements.Items[0].Selected = true;
                }
            }
            catch (Exception ex)
            {
                _notifies?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{Name}-> LoadUserDesign()", ex));
            }
        }
Ejemplo n.º 11
0
        private void Create()
        {
            string _connstr = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql     = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");

            var riList    = _sql.ExecuteCommands(fctSQL.Lines);
            var riFailure = riList.Find(x => x.commandDone == false);

            AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);

            string info = (riFailure == null)
                ? $@"Domain {_dbReg.Alias}->{DomainObject.Name} updated."
                : $@"Domain {_dbReg.Alias}->{DomainObject.Name} not updated !!!{Environment.NewLine}{riFailure.nErrors} errors";

            //DbExplorerForm.Instance().DbExlorerNotify.Notify.RaiseInfo(info,StaticVariablesClass.ReloadDomains,$@"->Proc:{Name}->Create");
            _localNotify.Notify.RaiseInfo(info);
            EditToData();
        }
Ejemplo n.º 12
0
        public SQLCommandsReturnInfoClass ExecSql(string cmd, DBRegistrationClass DBReg, NotifiesClass localNotify)
        {
            var SQLcommand = new SQLCommandsClass(DBReg);

            SQLcommand.SetEncoding("NONE");
            var ri = SQLcommand.ExecuteCommand(cmd, true);

            if (!ri.commandDone)
            {
                string errorStr = AppStaticFunctionsClass.GetErrorCodeString(ri.lastError, DBReg);
                localNotify?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"FieldForm->ExecuteCommand", $@"{cmd}->{errorStr}"));
            }
            else
            {
                localNotify?.AddToINFO(AppStaticFunctionsClass.GetFormattedInfo($@"Command done", cmd));
            }
            return(ri);
        }
Ejemplo n.º 13
0
        private void Notify_OnRaiseErrorHandler(object sender, MessageEventArgs k)
        {
            StringBuilder sb = new StringBuilder();

            error_count++;
            if (messages_count > 0)
            {
                sb.Append($@"Messages ({messages_count}) ");
            }
            if (error_count > 0)
            {
                sb.Append($@"Errors ({error_count})");
            }
            string errStr = AppStaticFunctionsClass.GetErrorCodeString(k.Meldung, _dbReg);

            fctMessages.AppendText($@"ERROR {errStr}");
            tabPageMessages.Text = sb.ToString();
            fctMessages.ScrollLeft();
        }
Ejemplo n.º 14
0
        private void Create()
        {
            //var _sql = new SQLScriptingClass(_dbReg,"SCRIPT",_localNotify);

            string _connstr = ConnectionStrings.Instance.MakeConnectionString(_dbReg);
            var    _sql     = new DBBasicClassLibrary.SQLScriptingClass(_connstr, AppSettingsClass.Instance.SQLVariables.GetNewLine(), AppSettingsClass.Instance.SQLVariables.CommentStart, AppSettingsClass.Instance.SQLVariables.CommentEnd, AppSettingsClass.Instance.SQLVariables.SingleLineComment, "SCRIPT");
            var    riList   = _sql.ExecuteCommands(fctSQL.Lines);

            var riFailure = riList.Find(x => x.commandDone == false);

            AppStaticFunctionsClass.SendResultNotify(riList, _localNotify);

            string info = (riFailure == null)
                ? $@"NotNull {_dbReg.Alias}->Field:{cbFields.Text}->NOT NULL Constraint:{txtConstraintName.Text} updated."
                : $@"NotNull {_dbReg.Alias}->Field:{cbFields.Text}->NOT NULL Constraint {txtConstraintName.Text} not updated !!!{Environment.NewLine}{riFailure.nErrors} errors, last error:{riFailure.lastError}";

            DbExplorerForm.Instance().DbExlorerNotify.Notify.RaiseInfo(info, StaticVariablesClass.ReloadConstraits, $@"->Proc:{Name}->Create");
            _localNotify.Notify.RaiseInfo(info);
        }
Ejemplo n.º 15
0
        public int RefreshMonitorConnections()
        {
            GetConnections();
            try
            {
                string cmd_index = SQLStatementsClass.Instance.GetMonitorConnections(DBReg.Version, cbAllConnections.Checked);
                dsMonConnections.Clear();
                dgvMonConnections.AutoGenerateColumns = true;

                var con = new FbConnection(ConnectionStrings.Instance.MakeConnectionString(DBReg));
                var ds  = new FbDataAdapter(cmd_index, con);
                ds.Fill(dsMonConnections);
                con.Close();
                bsMonConnections.DataMember = "Table";
                return(dsMonConnections.Tables[0].Rows.Count);
            }
            catch (Exception ex)
            {
                NotifiesClass.Instance.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{Name}-> RefreshMonitorConnections()", ex));
            }
            bsMonConnections.DataMember = "Table";
            return(dsMonConnections.Tables[0].Rows.Count);
        }
Ejemplo n.º 16
0
        void ErrorRaised(object sender, MessageEventArgs k)
        {
            fctMessages.CurrentLineColor = System.Drawing.Color.Red;
            fctMessages.AppendText(k.Meldung);
            string posTxt = AppStaticFunctionsClass.getErrorPosText(k.Meldung);

            if (!string.IsNullOrEmpty(posTxt))
            {
                fctMessages.AppendText(posTxt);
            }
            var sb = new StringBuilder();

            error_count++;
            if (messages_count > 0)
            {
                sb.Append($@"{LanguageClass.Instance.GetString("MESSAGES")} ({messages_count}) ");
            }
            if (error_count > 0)
            {
                sb.Append($@"{LanguageClass.Instance.GetString("ERRORS")} ({error_count})");
            }
            tabPageMessages.Text = sb.ToString();
            fctMessages.ScrollLeft();
        }
Ejemplo n.º 17
0
        public List <SQLCommandsReturnInfoClass> RunPreparedCommands()
        {
            //var sb = new StringBuilder();
            var riList = new List <SQLCommandsReturnInfoClass>();

            _parentNotifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} Executing script");
            Application.DoEvents();



            // int i = 0;
            int nr = 0;


            FbConnection fbConn = null;
            FbCommand    fbCmd  = null;


            if (_drc.DatabasePath.Length > 0)
            {
                var connstr = ConnectionStrings.Instance().MakeConnectionString(_drc);
                try
                {
                    fbConn = new FbConnection(connstr);
                    fbConn.Open();
                }
                catch (Exception ex)
                {
                    object[] param = { ex.Message };
                    SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseExceptionCaption", "ErrorWhileOpeningDatabase", SEMessageBoxButtons.OK, SEMessageBoxIcon.Exclamation, null, param);
                }
            }

            if (fbConn.State == System.Data.ConnectionState.Open)
            {
                var  startDt   = DateTime.Now;
                bool DBRepoend = false;
                bool ReopenConnectionEachCommand = true;
                foreach (SCRIPTCommandClass command in this.Commands.Values)
                {
                    var ri = new SQLCommandsReturnInfoClass();
                    if (ReopenConnectionEachCommand)
                    {
                        if (fbCmd != null && fbCmd.Transaction != null)
                        {
                            ri.lastSQL = "ReopenDatabase";
                            try
                            {
                                fbCmd.Transaction.Commit();
                                fbCmd.Transaction = null;
                                ri.commandDone    = true;
                            }
                            catch (Exception ex)
                            {
                                ri.commandDone = false;
                                _parentNotifies?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"Command error {fbCmd.CommandText}", ex));
                                if (fbCmd.Transaction != null)
                                {
                                    fbCmd.Transaction.Rollback();
                                    fbCmd.Transaction = null;
                                }
                            }
                        }
                        fbConn.Close();
                        fbConn.Open();
                        DBRepoend = fbConn.State == System.Data.ConnectionState.Open;
                    }

                    var actDt = DateTime.Now;
                    if ((actDt.Ticks - startDt.Ticks) > 30000000000)
                    {
                        _parentNotifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} ...Executing script{nr.ToString()} commands done of {Commands.Count}.");
                    }


                    FbConnection usedCon = IsCreateDatabaseOrConnect(command.CommandText, fbConn);
                    if (usedCon != null)
                    {
                        //Create Databes oder connect
                        if (fbConn != null)
                        {
                            if (fbConn.State != System.Data.ConnectionState.Closed)
                            {
                                fbConn.Close();
                            }
                        }
                        fbConn = usedCon;
                        if (fbConn.State != System.Data.ConnectionState.Open)
                        {
                            fbConn.Open();
                        }
                        continue;
                    }

                    if (fbCmd == null || fbCmd.Transaction == null || DBRepoend)
                    {
                        fbCmd             = new FbCommand(command.CommandText, fbConn);
                        fbCmd.Transaction = fbConn.BeginTransaction();
                        DBRepoend         = false;
                    }
                    else
                    {
                        fbCmd.CommandText = command.CommandText;
                    }

                    var sw = new Stopwatch();
                    sw.Start();
                    ri.lastCommandType = command.CommandType;
                    ri.lastSQL         = command.CommandText;
                    try
                    {
                        if (command.CommandType == SQLCommandType.commit)
                        {
                            fbCmd.Transaction.Commit();

                            fbCmd.Transaction = null;
                        }
                        else
                        {
                            fbCmd.ExecuteNonQuery();
                        }
                        ri.commandDone = true;
                    }
                    catch (Exception ex)
                    {
                        ri.nErrors++;
                        ri.lastError   = ex.Message;
                        ri.commandDone = false;
                        _parentNotifies?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"Command error {fbCmd.CommandText}", ex));
                        if (fbCmd.Transaction != null)
                        {
                            fbCmd.Transaction.Rollback();
                            fbCmd.Transaction = null;
                        }
                    }
                    sw.Stop();
                    command.Costs = sw.ElapsedMilliseconds;
                    _eventNotifies?.Notify.RaiseInfo($@"SQLScriptingClass.RunPreparedCommands()", Constants.CommandDone, command);
                    ri.costs = sw.ElapsedMilliseconds;
                    riList.Add(ri);
                    nr++;
                }

                if (fbCmd != null && fbCmd.Transaction != null)
                {
                    fbCmd.Transaction.Commit();

                    fbCmd.Transaction = null;
                }

                if (fbConn.State == System.Data.ConnectionState.Open)
                {
                    fbConn.Close();
                }
            }

            _parentNotifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} Executing done {nr.ToString()} Commands");
            Application.DoEvents();
            return(riList);
        }
Ejemplo n.º 18
0
        private bool CreateDatabase(string sqlCmd)
        {
            /*
             *  CREATE DATABASE 'localhost:D:\Data\kj\KJFERT59.FDB'
             *  USER 'SYSDBA' PASSWORD 'masterkey'
             *  PAGE_SIZE 8192
             *  DEFAULT CHARACTER SET NONE;
             */
            string sql        = sqlCmd.ToUpper();
            string location   = "D:\\Data\\test111.FDB";
            string server     = "localhost";
            string user       = "******";
            string password   = "******";
            string packetsize = "8192";

            int inx = sql.IndexOf("CREATE DATABASE ", StringComparison.Ordinal);

            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 16);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);

                int inx3 = arg.IndexOf(":\\", StringComparison.Ordinal);
                int inx4 = arg.IndexOf(":", StringComparison.Ordinal);
                if (inx4 < inx3)
                {
                    //server
                    server   = arg.Substring(0, inx4).Replace("'", "");
                    location = arg.Substring(inx4 + 1);
                    location = location.Replace("'", "");
                }
                else
                {
                    //nur dateipfad
                    server   = "localhost";
                    location = arg.Replace("'", "");
                }
            }

            inx = sql.IndexOf("USER ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 5);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                user = arg.Replace("'", "");
            }

            inx = sql.IndexOf("PASSWORD ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 9);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                password = arg.Replace("'", "");
            }

            inx = sql.IndexOf("PAGE_SIZE ", StringComparison.Ordinal);
            if (inx >= 0)
            {
                string cmd3 = sqlCmd.Substring(inx + 10);
                int    inx2 = cmd3.IndexOf(" ", StringComparison.Ordinal);
                string arg  = cmd3.Substring(0, inx2);
                packetsize = arg;
            }

            try
            {
                _parentNotifies?.AddToINFO(StaticFunctionsClass.DateTimeNowStr() + " ...Creating new database via script " + server + ":" + location);
                DBProviderSet.CreateDatabase(location, server, user, password, StaticFunctionsClass.ToIntDef(packetsize, AppSettingsClass.Instance().DatabaseSettings.DefaultPacketSize));
            }
            catch (Exception ex)
            {
                NotifiesClass.Instance().AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"{sqlCmd}-> CreateDatabase()", ex));
            }

            return(true);
        }
Ejemplo n.º 19
0
        private void RunSingleCommand(SCRIPTCommandClass command)
        {
            _notifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} Executing script command");
            Application.DoEvents();
            var _sql = new SQLScriptingClass(_actScriptingDbReg, "SCRIPT", _notifies);

            _sql.ClearCommands();
            FbConnection fbConn   = null;
            FbCommand    fbCmd    = null;
            bool         connOpen = false;

            if (_actScriptingDbReg.DatabasePath.Length > 0)
            {
                var connstr = ConnectionStrings.Instance().MakeConnectionString(_actScriptingDbReg);
                try
                {
                    fbConn = new FbConnection(connstr);
                    fbConn.Open();
                    connOpen = fbConn.State == System.Data.ConnectionState.Open;
                }
                catch (Exception ex)
                {
                    Enabled = false;
                    object[] param = { ex.Message };
                    SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DatabaseExceptionCaption", "ErrorWhileOpeningDatabase", SEMessageBoxButtons.OK, SEMessageBoxIcon.Exclamation, null, param);
                    Enabled = true;
                    BringToFront();
                }
            }

            if (connOpen)
            {
                var sw = new Stopwatch();
                sw.Start();
                FbConnection usedCon = IsCreateDatabaseOrConnect(command.CommandText, fbConn);
                if (usedCon != null)
                {
                    //Create database oder connect database
                    fbConn = usedCon;
                }
                else // kein create oder connect, voreingestellte connetion wird verwended
                {
                    fbCmd             = new FbCommand(command.CommandText, fbConn);
                    fbCmd.Transaction = fbConn.BeginTransaction();
                    try
                    {
                        if (command.CommandType == SQLCommandType.commit)
                        {
                            fbCmd.Transaction.Commit();
                        }
                        else
                        {
                            fbCmd.ExecuteNonQuery();
                            if (fbCmd.Transaction != null)
                            {
                                fbCmd.Transaction.Commit();
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        if (fbCmd.Transaction != null)
                        {
                            fbCmd.Transaction.Rollback();
                        }
                        fbCmd.Transaction = null;
                        _notifies?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"Command error {fbCmd.CommandText}", ex));
                    }
                }
                if (connOpen)
                {
                    fbConn.Close();
                }
                sw.Stop();
                Cursor = Cursors.Default;
                _notifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} Executing done in {sw} ms");
                Application.DoEvents();
            }
            else
            {
                _notifies?.AddToINFO($@"{StaticFunctionsClass.DateTimeNowStr()} Database {_actScriptingDbReg.Alias} not open ");
                Application.DoEvents();
            }
        }
Ejemplo n.º 20
0
        private void hsSaveSourceCodes_Click(object sender, EventArgs e)
        {
            if (!Directory.Exists(txtSourceCodePath.Text))
            {
                object[] p = { txtSourceCodePath.Text, Environment.NewLine };
                SEMessageBox.ShowMDIDialog(FbXpertMainForm.Instance(), "DirectoryNotExists", "DirectoryNotExistsParam", FormStartPosition.CenterScreen, SEMessageBoxButtons.OK, SEMessageBoxIcon.Exclamation, null, p);
                return;
            }
            var items = selDBObjects.CheckedItemDatas;

            pbExport.Minimum = 0;
            pbExport.Value   = 0;
            pbExport.Maximum = items.Count;
            if (ckDeleteOldSourceFiles.Checked)
            {
                string[] files = Directory.GetFiles(txtSourceCodePath.Text);
                foreach (string file in files)
                {
                    try
                    {
                        File.Delete($@"{file}");
                    }
                    catch //(Exception ex)
                    {
                    }
                }
            }
            var gsource = MakeGlobalCode();

            try
            {
                var fi = new FileInfo(txtSourceCodePath.Text + "\\DBGlobalFunctionsClass.cs");
                if (fi.Directory != null && fi.Directory.Exists)
                {
                    File.WriteAllText(txtSourceCodePath.Text + "\\DBGlobalFunctionsClass.cs", gsource);
                }
            }
            catch (Exception ex)
            {
                _localNotify?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"hsSaveSourceCodes_Click", ex));
            }


            foreach (var itm in items)
            {
                var source = itm.Text.StartsWith("Cb") ? MakeCbSourceCode(itm.Object) : MakeSourceCode(itm.Object);

                try
                {
                    var fi = new FileInfo(txtSourceCodePath.Text + "\\" + itm.Text + "Class.cs");
                    if (fi.Directory != null && fi.Directory.Exists)
                    {
                        File.WriteAllText(txtSourceCodePath.Text + "\\" + itm.Text + "Class.cs", source);
                    }
                }
                catch (Exception ex)
                {
                    _localNotify?.AddToERROR(AppStaticFunctionsClass.GetFormattedError($@"hsSaveSourceCodes_Click", ex));
                }

                pbExport.Value++;
                gbExportProgress.Text = LanguageClass.Instance.GetString("PROGRESS") + $@" ({pbExport.Value}/{pbExport.Maximum})";
                Application.DoEvents();
            }
        }
Ejemplo n.º 21
0
        public void ExportAllTablesDLL()
        {
            progressBar1.Minimum = 0;
            progressBar1.Value   = 0;
            int n = 0;

            if (ckCreateAlterTable.Checked)
            {
                n++;
            }
            if (ckCreateTableDLL.Checked)
            {
                n++;
            }
            progressBar1.Maximum = Tables.Count * n;
            string path = Path.Combine(txtSQLExportPath.Text);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            if (!Directory.Exists(path))
            {
                return;
            }
            if (ckDeleteAllFiles.Checked)
            {
                string[] fls = Directory.GetFiles(path, "*.sql");
                foreach (string fn in fls)
                {
                    try
                    {
                        File.Delete(fn);
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }
            foreach (var table in Tables)
            {
                try
                {
                    if (ckCreateTableDLL.Checked)
                    {
                        string fna = Path.Combine(path, $@"{table.Name}_createDLL.sql");
                        string dll = AppStaticFunctionsClass.CreateComment() + CreateDLLClass.CreateTabelDLL(table, eCreateMode.create);
                        File.WriteAllText(fna, dll);
                        progressBar1.Value++;
                    }

                    /*
                     * if (ckCreateView.Checked)
                     * {
                     *  string fnc = Path.Combine(path, $@"{table.Name}_create.sql");
                     *  string dll = AppStaticFunctionsClass.CreateComment() + CreateDLLClass.CreateTabelDLL(table, eCreateMode.create);
                     *  File.WriteAllText(fnc, dll);
                     *  progressBar1.Value++;
                     * }
                     */
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    break;
                }
            }
        }