Beispiel #1
0
        public void ShowCode(ShowCodeEvent e)
        {
            CodeView codeShow = new CodeView();
            codeShow.Dock = DockStyle.Fill;

            DockContent dc = new DockContent();
            dc.Text = e.Title;
            dc.Controls.Add(codeShow);
            dc.Show(this.dockPanel, DockState.Document);

            codeShow.Show(e.Code);
        }
Beispiel #2
0
        private void ResultSettingPage_Commit(object sender, AeroWizard.WizardPageConfirmEventArgs e)
        {
            if (ResultList == null || ResultList.Count == 0)
                return;

            DbQueryCodeGen gen = new DbQueryCodeGen();
            string code = string.Empty;
            string connstr = App.Instance.DBLink.ConnectionString;
            if (ResultList.Count == 1)
            {
                var ctrl = ResultList[0];
                Module module = new Module();
                module.ModuleName = ctrl.RowClassName;
                module.CodeName = ctrl.RowClassName;
                if (ctrl.DataTable != null)
                {
                    foreach (DataColumn dc in ctrl.DataTable.Columns)
                    {
                        ModuleField mf = new ModuleField(module, "", dc.ColumnName, dc.ColumnName);
                        mf.DataType = dc.DataType;
                        mf.Nullable = dc.AllowDBNull;
                        mf.LanguageType = LanguageConvert.GetCSharpType(dc.DataType, dc.AllowDBNull);
                        //Debug.WriteLine("{0} ---> {1}", mf.FieldName, mf.LanguageType);
                        module.Fields.Add(mf);
                    }
                }
                if (ctrl.QueryExecuteType == SQLQueryExecuteType.ReadRows)
                {
                    code = gen.GenForQueryList(this.SQL, module, connstr);
                }
                else if (ctrl.QueryExecuteType == SQLQueryExecuteType.ReadOneRow)
                {
                    code = gen.GenForQueryOne(this.SQL, module, connstr);
                }
                else if (ctrl.QueryExecuteType == SQLQueryExecuteType.ExecuteSclor)
                {
                    if (ctrl.DataTable != null && ctrl.DataTable.Columns != null && ctrl.DataTable.Columns.Count > 0)
                    {
                        var dc = ctrl.DataTable.Columns[0];
                        Type t = dc.DataType;
                        bool allowDBNull = dc.AllowDBNull;
                        code = gen.GenForExecuteScalar(this.SQL, t, allowDBNull, connstr);
                    }
                }
                else
                {
                    code = gen.GenForExecuteNoQuery(this.SQL, connstr);
                }
            }
            else
            {
                List<Module> modules = new List<Module>();
                foreach (var ctrl in this.ResultList)
                {
                    Module module = new Module();
                    module.ModuleName = ctrl.RowClassName;
                    module.CodeName = ctrl.RowClassName;
                    if (ctrl.DataTable != null)
                    {
                        foreach (DataColumn dc in ctrl.DataTable.Columns)
                        {
                            ModuleField mf = new ModuleField(module, "", dc.ColumnName, dc.ColumnName);
                            mf.DataType = dc.DataType;
                            mf.Nullable = dc.AllowDBNull;
                            mf.LanguageType = LanguageConvert.GetCSharpType(dc.DataType, dc.AllowDBNull);
                            //Debug.WriteLine("{0} ---> {1}", mf.FieldName, mf.LanguageType);
                            module.Fields.Add(mf);
                        }
                    }
                    modules.Add(module);
                }
                code = gen.GenForMultiQuery(this.SQL, modules, connstr);
            }

            CodeView codeView = new CodeView();
            codeView.Dock = DockStyle.Fill;
            ResultPage.Controls.Add(codeView);
            codeView.Show(code);
        }