⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 builderframeone.cs

📁 通过数据库结构自动 生成三层结构代码,相当不错的一款软件
💻 CS
📖 第 1 页 / 共 5 页
字号:
namespace LTP.CodeBuild
{
    using LTP.BuilderModel;
    using LTP.CodeHelper;
    using LTP.IDBO;
    using LTP.Utility;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Text;

    public class BuilderFrameOne : BuilderFrame
    {
        private string _procprefix;
        private INIFile cfgfile;
        private string cmcfgfile = (Application.StartupPath + @"\cmcfg.ini");

        public BuilderFrameOne(IDbObject idbobj, string dbName, string tableName, string modelName, List<ColumnInfo> fieldlist, List<ColumnInfo> keys, string nameSpace, string folder, string dbHelperName)
        {
            base.dbobj = idbobj;
            base.DbName = dbName;
            base.TableName = tableName;
            base.ModelName = modelName;
            base.NameSpace = nameSpace;
            base.Folder = folder;
            base.DbHelperName = dbHelperName;
            base._dbtype = idbobj.DbType;
            base.Fieldlist = fieldlist;
            base.Keys = keys;
            foreach (ColumnInfo info in keys)
            {
                base._key = info.ColumnName;
                base._keyType = info.TypeName;
                if (info.IsIdentity)
                {
                    base._key = info.ColumnName;
                    base._keyType = CodeCommon.DbTypeToCS(info.TypeName);
                    break;
                }
            }
        }

        private string CreatAddParam()
        {
            StringBuilder builder = new StringBuilder();
            StringBuilder builder2 = new StringBuilder();
            StringBuilder builder3 = new StringBuilder();
            StringPlus plus = new StringPlus();
            StringPlus plus2 = new StringPlus();
            builder.Append("\r\n");
            builder.Append(base.Space(2) + "/// <summary>\r\n");
            builder.Append(base.Space(2) + "/// 增加一条数据\r\n");
            builder.Append(base.Space(2) + "/// </summary>\r\n");
            string str = "void";
            if (base.IsHasIdentity)
            {
                str = "int";
            }
            builder.Append(base.Space(2) + "public " + str + " Add()\r\n");
            builder.Append(base.Space(2) + "{\r\n");
            builder.Append(base.Space(3) + "StringBuilder strSql=new StringBuilder();\r\n");
            builder.Append(base.Space(3) + "strSql.Append(\"insert into " + base.TableName + "(\");\r\n");
            builder2.Append(base.Space(3) + "strSql.Append(\"");
            int num = 0;
            foreach (ColumnInfo info in base.Fieldlist)
            {
                string columnName = info.ColumnName;
                string typeName = info.TypeName;
                bool isIdentity = info.IsIdentity;
                string length = info.Length;
                if (info.IsIdentity)
                {
                    str = CodeCommon.DbTypeToCS(typeName);
                }
                else
                {
                    plus.AppendSpaceLine(5, "new " + base.DbParaHead + "Parameter(\"@" + columnName + "\", " + base.DbParaDbType + "." + CodeCommon.DbTypeLength(base._dbtype, typeName, length) + "),");
                    builder2.Append(columnName + ",");
                    builder3.Append("@" + columnName + ",");
                    plus2.AppendSpaceLine(3, string.Concat(new object[] { "parameters[", num, "].Value = ", columnName, ";" }));
                    num++;
                }
            }
            builder2.Remove(builder2.Length - 1, 1);
            builder3.Remove(builder3.Length - 1, 1);
            if (plus.Value.IndexOf(",") > 0)
            {
                plus.DelLastComma();
            }
            builder2.Append(")\");\r\n");
            builder.Append(builder2.ToString());
            builder.Append(base.Space(3) + "strSql.Append(\" values (\");\r\n");
            builder.Append(base.Space(3) + "strSql.Append(\"" + builder3.ToString() + ")\");\r\n");
            if (base.IsHasIdentity)
            {
                builder.Append(CodeCommon.Space(3) + "strSql.Append(\";select @@IDENTITY\");\r\n");
            }
            builder.Append(base.Space(3) + "" + base.DbParaHead + "Parameter[] parameters = {\r\n");
            builder.Append(plus.Value);
            builder.Append("};\r\n");
            builder.Append(plus2.Value + "\r\n");
            if (base.IsHasIdentity)
            {
                builder.Append(CodeCommon.Space(3) + "object obj = DbHelperSQL.GetSingle(strSql.ToString(),parameters);\r\n");
                builder.Append(CodeCommon.Space(3) + "if (obj == null)\r\n");
                builder.Append(CodeCommon.Space(3) + "{\r\n");
                builder.Append(CodeCommon.Space(4) + "return 1;\r\n");
                builder.Append(CodeCommon.Space(3) + "}\r\n");
                builder.Append(CodeCommon.Space(3) + "else\r\n");
                builder.Append(CodeCommon.Space(3) + "{\r\n");
                builder.Append(CodeCommon.Space(4) + "return Convert.ToInt32(obj);\r\n");
                builder.Append(CodeCommon.Space(3) + "}\r\n");
            }
            else
            {
                builder.Append(CodeCommon.Space(3) + "" + base.DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);\r\n");
            }
            builder.Append(base.Space(2) + "}");
            return builder.ToString();
        }

        private string CreatAddProc()
        {
            StringPlus plus = new StringPlus();
            StringPlus plus2 = new StringPlus();
            plus.AppendSpaceLine(2, "/// <summary>");
            plus.AppendSpaceLine(2, "///  增加一条数据");
            plus.AppendSpaceLine(2, "/// </summary>");
            string str = "void";
            if (base.IsHasIdentity)
            {
                str = "int";
            }
            plus.AppendSpaceLine(2, "public " + str + " Add()");
            plus.AppendSpaceLine(2, "{");
            plus.AppendSpaceLine(3, "int rowsAffected;");
            plus.AppendSpaceLine(3, "" + base.DbParaHead + "Parameter[] parameters = {");
            int num = 0;
            int num2 = 0;
            foreach (ColumnInfo info in base.Fieldlist)
            {
                string columnName = info.ColumnName;
                string typeName = info.TypeName;
                bool isIdentity = info.IsIdentity;
                string length = info.Length;
                plus.AppendSpaceLine(5, "new " + base.DbParaHead + "Parameter(\"@" + columnName + "\", " + base.DbParaDbType + "." + CodeCommon.DbTypeLength(base._dbtype, typeName, length) + "),");
                if (info.IsIdentity)
                {
                    num = num2;
                    plus2.AppendSpaceLine(3, "parameters[" + num2 + "].Direction = ParameterDirection.Output;");
                    num2++;
                }
                else
                {
                    plus2.AppendSpaceLine(3, string.Concat(new object[] { "parameters[", num2, "].Value = ", columnName, ";" }));
                    num2++;
                }
            }
            if (plus.Value.IndexOf(",") > 0)
            {
                plus.DelLastComma();
            }
            plus.AppendLine("};");
            plus.AppendLine(plus2.Value);
            plus.AppendSpaceLine(3, "" + base.DbHelperName + ".RunProcedure(\"UP_" + base.TableName + "_ADD\",parameters,out rowsAffected);");
            if (base.IsHasIdentity)
            {
                plus.AppendSpaceLine(3, string.Concat(new object[] { base._key, "= (", base._keyType, ")parameters[", num, "].Value;" }));
            }
            plus.AppendSpaceLine(2, "}");
            return plus.Value;
        }

        private string CreatAddSQL()
        {
            StringBuilder builder = new StringBuilder();
            StringBuilder builder2 = new StringBuilder();
            StringBuilder builder3 = new StringBuilder();
            builder.Append("\r\n");
            builder.Append(base.Space(2) + "/// <summary>\r\n");
            builder.Append(base.Space(2) + "/// 增加一条数据\r\n");
            builder.Append(base.Space(2) + "/// </summary>\r\n");
            string str = "void";
            if (base.IsHasIdentity)
            {
                str = "int";
            }
            builder.Append(base.Space(2) + "public " + str + " Add()\r\n");
            builder.Append(base.Space(2) + "{\r\n");
            builder.Append(base.Space(3) + "StringBuilder strSql=new StringBuilder();\r\n");
            builder.Append(base.Space(3) + "strSql.Append(\"insert into [" + base.TableName + "](\");\r\n");
            builder2.Append(base.Space(3) + "strSql.Append(\"");
            foreach (ColumnInfo info in base.Fieldlist)
            {
                string columnName = info.ColumnName;
                string typeName = info.TypeName;
                bool isIdentity = info.IsIdentity;
                if (info.IsIdentity)
                {
                    str = CodeCommon.DbTypeToCS(typeName);
                }
                else
                {
                    builder2.Append(columnName + ",");
                    if (CodeCommon.IsAddMark(typeName.Trim()))
                    {
                        builder3.Append(base.Space(3) + "strSql.Append(\"'\"+" + columnName + "+\"',\");\r\n");
                        continue;
                    }
                    builder3.Append(base.Space(3) + "strSql.Append(\"\"+" + columnName + "+\",\");\r\n");
                }
            }
            builder2.Remove(builder2.Length - 1, 1);
            builder3.Remove(builder3.Length - 6, 1);
            builder2.Append("\");\r\n");
            builder.Append(builder2.ToString());
            builder.Append(base.Space(3) + "strSql.Append(\")\");\r\n");
            builder.Append(base.Space(3) + "strSql.Append(\" values (\");\r\n");
            builder.Append(builder3.ToString());
            builder.Append(base.Space(3) + "strSql.Append(\")\");\r\n");
            if (base.IsHasIdentity)
            {
                builder.Append(CodeCommon.Space(3) + "strSql.Append(\";select @@IDENTITY\");\r\n");
                builder.Append(CodeCommon.Space(3) + "object obj = DbHelperSQL.GetSingle(strSql.ToString());\r\n");
                builder.Append(CodeCommon.Space(3) + "if (obj == null)\r\n");
                builder.Append(CodeCommon.Space(3) + "{\r\n");
                builder.Append(CodeCommon.Space(4) + "return 1;\r\n");
                builder.Append(CodeCommon.Space(3) + "}\r\n");
                builder.Append(CodeCommon.Space(3) + "else\r\n");
                builder.Append(CodeCommon.Space(3) + "{\r\n");
                builder.Append(CodeCommon.Space(4) + "return Convert.ToInt32(obj);\r\n");
                builder.Append(CodeCommon.Space(3) + "}\r\n");
            }
            else
            {
                builder.Append(CodeCommon.Space(3) + "" + base.DbHelperName + ".ExecuteSql(strSql.ToString());\r\n");
            }
            builder.Append(base.Space(2) + "}");
            return builder.ToString();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -