Esempio n. 1
0
        public string GetPreParameter(List <ColumnInfo> keys, string numPara)
        {
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();

            stringPlus.AppendSpaceLine(3, this.DbParaHead + "Parameter[] parameters" + numPara + " = {");
            int num = 0;

            foreach (ColumnInfo current in keys)
            {
                stringPlus.AppendSpaceLine(5, string.Concat(new string[]
                {
                    "new ",
                    this.DbParaHead,
                    "Parameter(\"",
                    this.preParameter,
                    current.ColumnName,
                    "\", ",
                    this.DbParaDbType,
                    ".",
                    CodeCommon.DbTypeLength(this.dbobj.DbType, current.TypeName, ""),
                    "),"
                }));
                stringPlus2.AppendSpaceLine(3, string.Concat(new string[]
                {
                    "parameters",
                    numPara,
                    "[",
                    num.ToString(),
                    "].Value = ",
                    current.ColumnName,
                    ";"
                }));
                num++;
            }
            stringPlus.DelLastComma();
            stringPlus.AppendLine("};");
            stringPlus.Append(stringPlus2.Value);
            return(stringPlus.Value);
        }
Esempio n. 2
0
        /// <summary>
        /// 得到Update()的代码
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        public string CreatUpdate()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus strclass  = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// 更新一条数据");
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public void Update(" + ModelSpace + " model)");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"update " + _tablename + " set \");");
            int n = 0;

            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                string Length     = field.Length;
                bool   IsIdentity = field.IsIdentity;
                bool   isPK       = field.IsPK;

                strclass1.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass2.AppendSpaceLine(3, "parameters[" + n + "].Value = model." + columnName + ";");
                n++;
                if (field.IsIdentity || field.IsPK || (Keys.Contains(field)))
                {
                    continue;
                }
                strclass.AppendSpaceLine(3, "strSql.Append(\"" + columnName + "=" + preParameter + columnName + ",\");");
            }


            //去掉最后的逗号
            strclass.DelLastComma();
            strclass.AppendLine("\");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + GetWhereExpression(Keys) + "\");");

            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            strclass1.DelLastComma();
            strclass.Append(strclass1.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass2.Value);
            strclass.AppendSpaceLine(3, "" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");
            strclass.AppendSpaceLine(2, "}");
            return(strclass.ToString());
        }
Esempio n. 3
0
        /// <summary>
        /// 得到Add()的代码
        /// </summary>
        public string CreatAdd()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus strclass  = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();
            StringPlus strclass3 = new StringPlus();
            StringPlus strclass4 = new StringPlus();

            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// 增加一条数据");
            strclass.AppendSpaceLine(2, "/// </summary>");
            string strretu = "void";

            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strretu = "int";
            }
            //方法定义头
            string strFun = CodeCommon.Space(2) + "public " + strretu + " Add(" + ModelSpace + " model)";

            strclass.AppendLine(strFun);
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"insert into " + _tablename + "(\");");
            strclass1.AppendSpace(3, "strSql.Append(\"");
            int n = 0;

            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                string Length     = field.Length;
                if (field.IsIdentity)
                {
                    continue;
                }
                strclass3.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass1.Append(columnName + ",");
                strclass2.Append(preParameter + columnName + ",");
                strclass4.AppendSpaceLine(3, "parameters[" + n + "].Value = model." + columnName + ";");
                n++;
            }

            //去掉最后的逗号
            strclass1.DelLastComma();
            strclass2.DelLastComma();
            strclass3.DelLastComma();
            strclass1.AppendLine(")\");");
            strclass.Append(strclass1.ToString());
            strclass.AppendSpaceLine(3, "strSql.Append(\" values (\");");
            strclass.AppendSpaceLine(3, "strSql.Append(\"" + strclass2.ToString() + ")\");");
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "strSql.Append(\";select @@IDENTITY\");");
            }
            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            strclass.Append(strclass3.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass4.Value);

            //重新定义方法头
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "object obj = " + DbHelperName + ".GetSingle(strSql.ToString(),parameters);");
                strclass.AppendSpaceLine(3, "if (obj == null)");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "return 1;");
                strclass.AppendSpaceLine(3, "}");
                strclass.AppendSpaceLine(3, "else");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "return Convert.ToInt32(obj);");
                strclass.AppendSpaceLine(3, "}");
            }
            else
            {
                strclass.AppendSpaceLine(3, "" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");
            }
            strclass.AppendSpace(2, "}");
            return(strclass.ToString());
        }
Esempio n. 4
0
        /// <summary>
        /// 生成sql语句中的参数列表(例如:用于Add  Exists  Update Delete  GetModel 的参数传入)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public string GetPreParameter(List <ColumnInfo> keys)
        {
            StringPlus strclass  = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            int n = 0;

            foreach (ColumnInfo key in keys)
            {
                strclass.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + "" + key.ColumnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, key.TypeName, "") + "),");
                strclass2.AppendSpaceLine(3, "parameters[" + n.ToString() + "].Value = " + key.ColumnName + ";");
                n++;
            }
            strclass.DelLastComma();
            strclass.AppendLine("};");
            strclass.Append(strclass2.Value);
            return(strclass.Value);
        }
Esempio n. 5
0
        public string CreatUpdate()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();

            stringPlus.AppendSpaceLine(2, "/// <summary>");
            stringPlus.AppendSpaceLine(2, "///  " + this.Languagelist["summaryUpdate"].ToString());
            stringPlus.AppendSpaceLine(2, "/// </summary>");
            stringPlus.AppendSpaceLine(2, "public bool Update(" + this.ModelSpace + " model)");
            stringPlus.AppendSpaceLine(2, "{");
            stringPlus.AppendSpaceLine(3, "int rowsAffected=0;");
            stringPlus.AppendSpaceLine(3, this.DbParaHead + "Parameter[] parameters = {");
            int num = 0;

            foreach (ColumnInfo current in this.Fieldlist)
            {
                string columnName = current.ColumnName;
                string typeName   = current.TypeName;
                string length     = current.Length;
                stringPlus.AppendSpaceLine(5, string.Concat(new string[]
                {
                    "new ",
                    this.DbParaHead,
                    "Parameter(\"",
                    this.preParameter,
                    columnName,
                    "\", ",
                    this.DbParaDbType,
                    ".",
                    CodeCommon.DbTypeLength(this.dbobj.DbType, typeName, length),
                    "),"
                }));
                stringPlus2.AppendSpaceLine(3, string.Concat(new object[]
                {
                    "parameters[",
                    num,
                    "].Value = model.",
                    columnName,
                    ";"
                }));
                num++;
            }
            stringPlus.DelLastComma();
            stringPlus.AppendLine("};");
            stringPlus.AppendLine(stringPlus2.Value);
            stringPlus.AppendSpaceLine(3, string.Concat(new string[]
            {
                this.DbHelperName,
                ".RunProcedure(\"",
                this.ProcPrefix,
                this._tablename,
                "_Update\",parameters,out rowsAffected);"
            }));
            stringPlus.AppendSpaceLine(3, "if (rowsAffected > 0)");
            stringPlus.AppendSpaceLine(3, "{");
            stringPlus.AppendSpaceLine(4, "return true;");
            stringPlus.AppendSpaceLine(3, "}");
            stringPlus.AppendSpaceLine(3, "else");
            stringPlus.AppendSpaceLine(3, "{");
            stringPlus.AppendSpaceLine(4, "return false;");
            stringPlus.AppendSpaceLine(3, "}");
            stringPlus.AppendSpaceLine(2, "}");
            return(stringPlus.Value);
        }
Esempio n. 6
0
        public string CreatAdd()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();

            stringPlus.AppendSpaceLine(2, "/// <summary>");
            stringPlus.AppendSpaceLine(2, "///  " + this.Languagelist["summaryadd"].ToString());
            stringPlus.AppendSpaceLine(2, "/// </summary>");
            string text = "bool";

            if ((this.dbobj.DbType == "SQL2000" || this.dbobj.DbType == "SQL2005" || this.dbobj.DbType == "SQL2008" || this.dbobj.DbType == "SQL2012") && this.IsHasIdentity)
            {
                text = "int";
                if (this._keyType != "int")
                {
                    text = this._keyType;
                }
            }
            string text2 = string.Concat(new string[]
            {
                CodeCommon.Space(2),
                "public ",
                text,
                " Add(",
                this.ModelSpace,
                " model)"
            });

            stringPlus.AppendLine(text2);
            stringPlus.AppendSpaceLine(2, "{");
            stringPlus.AppendSpaceLine(3, "int rowsAffected;");
            stringPlus.AppendSpaceLine(3, this.DbParaHead + "Parameter[] parameters = {");
            int num  = 0;
            int num2 = 0;

            foreach (ColumnInfo current in this.Fieldlist)
            {
                string columnName = current.ColumnName;
                string typeName   = current.TypeName;
                bool   arg_19F_0  = current.IsIdentity;
                string length     = current.Length;
                stringPlus.AppendSpaceLine(5, string.Concat(new string[]
                {
                    "new ",
                    this.DbParaHead,
                    "Parameter(\"",
                    this.preParameter,
                    columnName,
                    "\", ",
                    this.DbParaDbType,
                    ".",
                    CodeCommon.DbTypeLength(this.dbobj.DbType, typeName, length),
                    "),"
                }));
                if (current.IsIdentity)
                {
                    num = num2;
                    stringPlus2.AppendSpaceLine(3, "parameters[" + num2 + "].Direction = ParameterDirection.Output;");
                    num2++;
                }
                else
                {
                    if ("uniqueidentifier" == typeName.ToLower())
                    {
                        stringPlus2.AppendSpaceLine(3, "parameters[" + num2 + "].Value = Guid.NewGuid();");
                    }
                    else
                    {
                        stringPlus2.AppendSpaceLine(3, string.Concat(new object[]
                        {
                            "parameters[",
                            num2,
                            "].Value = model.",
                            columnName,
                            ";"
                        }));
                    }
                    num2++;
                }
            }
            stringPlus.DelLastComma();
            stringPlus.AppendLine("};");
            stringPlus.AppendLine(stringPlus2.Value);
            stringPlus.AppendSpaceLine(3, string.Concat(new string[]
            {
                this.DbHelperName,
                ".RunProcedure(\"",
                this.ProcPrefix,
                this._tablename,
                "_ADD\",parameters,out rowsAffected);"
            }));
            if ((this.dbobj.DbType == "SQL2000" || this.dbobj.DbType == "SQL2005" || this.dbobj.DbType == "SQL2008" || this.dbobj.DbType == "SQL2012") && this.IsHasIdentity)
            {
                stringPlus.AppendSpaceLine(3, string.Concat(new object[]
                {
                    "return (",
                    this._keyType,
                    ")parameters[",
                    num,
                    "].Value;"
                }));
            }
            stringPlus.AppendSpaceLine(2, "}");
            return(stringPlus.Value);
        }
Esempio n. 7
0
        /// <summary>
        /// 得到Update()的代码
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        public string CreatUpdate()
        {
            if (ModelSpace == "")
            {
                ModelSpace = "ModelClassName";;
            }
            StringPlus strclass  = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "///  更新一条数据");
            strclass.AppendSpaceLine(2, "/// </summary>");

            strclass.AppendSpaceLine(2, "public void Update(" + ModelSpace + " model)");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "int rowsAffected;");
            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            int n = 0;

            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                string Length     = field.Length;
                //bool IsIdentity = field.IsIdentity;
                //bool isPK = field.IsPK;

                strclass.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass2.AppendSpaceLine(3, "parameters[" + n + "].Value = model." + columnName + ";");
                n++;
            }

            strclass.DelLastComma();
            strclass.AppendLine("};");
            strclass.AppendLine(strclass2.Value);
            strclass.AppendSpaceLine(3, "" + DbHelperName + ".RunProcedure(\"" + ProcPrefix + _tablename + "_Update" + "\",parameters,out rowsAffected);");

            strclass.AppendSpaceLine(2, "}");
            return(strclass.Value);
        }
Esempio n. 8
0
        /// <summary>
        /// 得到Add()的代码
        /// </summary>
        /// <param name="ExistsMaxId">是否有GetMaxId()生成主健</param>
        public string CreatAdd()
        {
            if (ModelSpace == "")
            {
                ModelSpace = "ModelClassName";;
            }
            StringPlus strclass  = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "///  增加一条数据");
            strclass.AppendSpaceLine(2, "/// </summary>");
            string strretu = "void";

            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005") && (IsHasIdentity))
            {
                strretu = "int";
            }
            //方法定义头
            string strFun = CodeCommon.Space(2) + "public " + strretu + " Add(" + ModelSpace + " model)";

            strclass.AppendLine(strFun);
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "int rowsAffected;");
            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            int nkey = 0;
            int n    = 0;

            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                string Length     = field.Length;

                strclass.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");

                if (field.IsIdentity)
                {
                    nkey = n;
                    strclass2.AppendSpaceLine(3, "parameters[" + n + "].Direction = ParameterDirection.Output;");
                    n++;
                    continue;
                }
                strclass2.AppendSpaceLine(3, "parameters[" + n + "].Value = model." + columnName + ";");
                n++;
            }

            strclass.DelLastComma();
            strclass.AppendLine("};");
            strclass.AppendLine(strclass2.Value);
            strclass.AppendSpaceLine(3, "" + DbHelperName + ".RunProcedure(\"" + ProcPrefix + _tablename + "_ADD" + "\",parameters,out rowsAffected);");
            //重新定义方法头
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "return (" + _keyType + ")parameters[" + nkey + "].Value;");
            }
            strclass.AppendSpaceLine(2, "}");
            return(strclass.Value);
        }
Esempio n. 9
0
        /// <summary>
        /// 得到Add()的代码
        /// </summary>
        public string CreatAdd()
        {
            //if (ModelSpaceParent == "")
            //{
            //    ModelSpaceParent = "ModelClassName"; ;
            //}
            StringPlus strclass  = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();
            StringPlus strclass3 = new StringPlus();
            StringPlus strclass4 = new StringPlus();

            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// 增加一条数据,及其子表数据");
            strclass.AppendSpaceLine(2, "/// </summary>");
            string strretu = "void";

            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strretu = "int";
            }
            //方法定义头
            string strFun = CodeCommon.Space(2) + "public " + strretu + " Add(" + ModelSpaceParent + " model)";

            strclass.AppendLine(strFun);
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"insert into " + _tablenameparent + "(\");");
            strclass1.AppendSpace(3, "strSql.Append(\"");
            int n    = 0;
            int nkey = 0;

            foreach (ColumnInfo field in FieldlistParent)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                string Length     = field.Length;
                if (field.IsIdentity)
                {
                    //nkey = n;
                    continue;
                }
                strclass3.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass1.Append(columnName + ",");
                strclass2.Append(preParameter + columnName + ",");
                strclass4.AppendSpaceLine(3, "parameters[" + n + "].Value = model." + columnName + ";");
                n++;
            }
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                nkey = n;
                strclass3.AppendSpaceLine(5, "new SqlParameter(\"@ReturnValue\",SqlDbType.Int),");
                strclass4.AppendSpaceLine(3, "parameters[" + nkey.ToString() + "].Direction = ParameterDirection.Output;");
            }

            //去掉最后的逗号
            strclass1.DelLastComma();
            strclass2.DelLastComma();
            strclass3.DelLastComma();
            strclass1.AppendLine(")\");");
            strclass.Append(strclass1.ToString());
            strclass.AppendSpaceLine(3, "strSql.Append(\" values (\");");
            strclass.AppendSpaceLine(3, "strSql.Append(\"" + strclass2.ToString() + ")\");");
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "strSql.Append(\";set @ReturnValue= @@IDENTITY\");");
            }
            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            strclass.Append(strclass3.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass4.Value);

            #region tran
            strclass.AppendSpaceLine(3, "List<CommandInfo> sqllist = new List<CommandInfo>();");
            strclass.AppendSpaceLine(3, "CommandInfo cmd = new CommandInfo(strSql.ToString(), parameters);");
            strclass.AppendSpaceLine(3, "sqllist.Add(cmd);");

            strclass.AppendSpaceLine(3, "StringBuilder strSql2;");
            strclass.AppendSpaceLine(3, "foreach (" + ModelSpaceSon + " models in model." + ModelNameSon + "s)");
            strclass.AppendSpaceLine(3, "{");

            StringPlus strclass11 = new StringPlus();
            StringPlus strclass21 = new StringPlus();
            StringPlus strclass31 = new StringPlus();
            StringPlus strclass41 = new StringPlus();
            //新的增加
            strclass.AppendSpaceLine(4, "strSql2=new StringBuilder();");
            strclass.AppendSpaceLine(4, "strSql2.Append(\"insert into " + _tablenameson + "(\");");
            strclass11.AppendSpace(4, "strSql2.Append(\"");
            int ns = 0;
            foreach (ColumnInfo field in FieldlistSon)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                string Length     = field.Length;
                if (field.IsIdentity)
                {
                    continue;
                }
                strclass31.AppendSpaceLine(6, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass11.Append(columnName + ",");
                strclass21.Append(preParameter + columnName + ",");
                strclass41.AppendSpaceLine(4, "parameters2[" + ns + "].Value = models." + columnName + ";");
                ns++;
            }
            strclass11.DelLastComma();
            strclass21.DelLastComma();
            strclass31.DelLastComma();
            strclass11.AppendLine(")\");");
            strclass.Append(strclass11.ToString());
            strclass.AppendSpaceLine(4, "strSql2.Append(\" values (\");");
            strclass.AppendSpaceLine(4, "strSql2.Append(\"" + strclass21.ToString() + ")\");");
            //if (IsHasIdentity)
            //{
            //    strclass.AppendSpaceLine(4, "strSql2.Append(\";select @@IDENTITY\");");
            //}
            strclass.AppendSpaceLine(4, "" + DbParaHead + "Parameter[] parameters2 = {");
            strclass.Append(strclass31.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass41.Value);
            //end新的增加

            strclass.AppendSpaceLine(4, "cmd = new CommandInfo(strSql2.ToString(), parameters2);");
            strclass.AppendSpaceLine(4, "sqllist.Add(cmd);");
            strclass.AppendSpaceLine(3, "}");
            #endregion


            //重新定义方法头
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2008") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, DbHelperName + ".ExecuteSqlTranWithIndentity(sqllist);");
                strclass.AppendSpaceLine(3, "return (" + _keyType + ")parameters[" + nkey + "].Value;");
            }
            else
            {
                strclass.AppendSpaceLine(3, "" + DbHelperName + ".ExecuteSqlTran(sqllist);");
            }
            strclass.AppendSpace(2, "}");
            return(strclass.ToString());
        }
Esempio n. 10
0
        public string CreatUpdate(string tabName, string ModelName, List <ColumnInfo> Fieldlist, List <ColumnInfo> Keys, int num)
        {
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();
            StringPlus stringPlus3 = new StringPlus();
            StringPlus stringPlus4 = new StringPlus();

            stringPlus.AppendSpaceLine(3, "StringBuilder strSql" + num + "=new StringBuilder();");
            stringPlus.AppendSpaceLine(3, string.Concat(new object[]
            {
                "strSql",
                num,
                ".Append(\"update ",
                tabName,
                " set \");"
            }));
            int num2 = 0;

            if (Fieldlist.Count == 0)
            {
                Fieldlist = Keys;
            }
            List <ColumnInfo> list = new List <ColumnInfo>();

            foreach (ColumnInfo current in Fieldlist)
            {
                string columnName = current.ColumnName;
                string typeName   = current.TypeName;
                string length     = current.Length;
                bool   arg_C6_0   = current.IsIdentity;
                bool   arg_CE_0   = current.IsPrimaryKey;
                if (current.IsIdentity || current.IsPrimaryKey || Keys.Contains(current))
                {
                    list.Add(current);
                }
                else
                {
                    if (!(typeName.ToLower() == "timestamp"))
                    {
                        stringPlus2.AppendSpaceLine(5, string.Concat(new string[]
                        {
                            "new ",
                            this.DbParaHead,
                            "Parameter(\"",
                            this.preParameter,
                            columnName,
                            "\", ",
                            this.DbParaDbType,
                            ".",
                            CodeCommon.DbTypeLength(this.dbobj.DbType, typeName, length),
                            "),"
                        }));
                        stringPlus3.AppendSpaceLine(3, string.Concat(new object[]
                        {
                            "parameters",
                            num,
                            "[",
                            num2,
                            "].Value = model.",
                            columnName,
                            ";"
                        }));
                        num2++;
                        stringPlus4.AppendSpaceLine(3, string.Concat(new object[]
                        {
                            "strSql",
                            num,
                            ".Append(\"",
                            columnName,
                            "=",
                            this.preParameter,
                            columnName,
                            ",\");"
                        }));
                    }
                }
            }
            foreach (ColumnInfo current2 in list)
            {
                string columnName2 = current2.ColumnName;
                string typeName2   = current2.TypeName;
                string length2     = current2.Length;
                bool   arg_2A0_0   = current2.IsIdentity;
                bool   arg_2A8_0   = current2.IsPrimaryKey;
                stringPlus2.AppendSpaceLine(5, string.Concat(new string[]
                {
                    "new ",
                    this.DbParaHead,
                    "Parameter(\"",
                    this.preParameter,
                    columnName2,
                    "\", ",
                    this.DbParaDbType,
                    ".",
                    CodeCommon.DbTypeLength(this.dbobj.DbType, typeName2, length2),
                    "),"
                }));
                stringPlus3.AppendSpaceLine(3, string.Concat(new object[]
                {
                    "parameters",
                    num,
                    "[",
                    num2,
                    "].Value = model",
                    ModelName,
                    ".",
                    columnName2,
                    ";"
                }));
                num2++;
            }
            if (stringPlus4.Value.Length > 0)
            {
                stringPlus4.DelLastComma();
                stringPlus4.AppendLine("\");");
            }
            else
            {
                stringPlus4.AppendLine("#warning 系统发现缺少更新的字段,请手工确认如此更新是否正确! ");
                foreach (ColumnInfo current3 in Fieldlist)
                {
                    string columnName3 = current3.ColumnName;
                    stringPlus4.AppendSpaceLine(3, string.Concat(new object[]
                    {
                        "strSql",
                        num,
                        ".Append(\"",
                        columnName3,
                        "=",
                        this.preParameter,
                        columnName3,
                        ",\");"
                    }));
                }
                if (Fieldlist.Count > 0)
                {
                    stringPlus4.DelLastComma();
                    stringPlus4.AppendLine("\");");
                }
            }
            stringPlus.Append(stringPlus4.Value);
            stringPlus.AppendSpaceLine(3, string.Concat(new object[]
            {
                "strSql",
                num,
                ".Append(\" where ",
                CodeCommon.GetWhereParameterExpression(Keys, true, this.dbobj.DbType),
                "\");"
            }));
            stringPlus.AppendSpaceLine(3, string.Concat(new object[]
            {
                this.DbParaHead,
                "Parameter[] parameters",
                num,
                " = {"
            }));
            stringPlus2.DelLastComma();
            stringPlus.Append(stringPlus2.Value);
            stringPlus.AppendLine("};");
            stringPlus.AppendLine(stringPlus3.Value);
            return(stringPlus.ToString());
        }
Esempio n. 11
0
        public string CreatAdd(string tabName, string ModelName, List <ColumnInfo> Fieldlist, int num)
        {
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();
            StringPlus stringPlus3 = new StringPlus();
            StringPlus stringPlus4 = new StringPlus();
            StringPlus stringPlus5 = new StringPlus();

            stringPlus.AppendSpaceLine(3, "StringBuilder strSql" + num + "=new StringBuilder();");
            stringPlus.AppendSpaceLine(3, string.Concat(new object[]
            {
                "strSql",
                num,
                ".Append(\"insert into ",
                tabName,
                "(\");"
            }));
            stringPlus2.AppendSpace(3, "strSql" + num + ".Append(\"");
            int num2 = 0;

            foreach (ColumnInfo current in Fieldlist)
            {
                string columnName = current.ColumnName;
                string typeName   = current.TypeName;
                bool   arg_CF_0   = current.IsIdentity;
                string length     = current.Length;
                bool   arg_E0_0   = current.Nullable;
                if (!current.IsIdentity)
                {
                    stringPlus4.AppendSpaceLine(5, string.Concat(new string[]
                    {
                        "new ",
                        this.DbParaHead,
                        "Parameter(\"",
                        this.preParameter,
                        columnName,
                        "\", ",
                        this.DbParaDbType,
                        ".",
                        CodeCommon.DbTypeLength(this.dbobj.DbType, typeName, length),
                        "),"
                    }));
                    stringPlus2.Append(columnName + ",");
                    stringPlus3.Append(this.preParameter + columnName + ",");
                    if ("uniqueidentifier" == typeName.ToLower())
                    {
                        stringPlus5.AppendSpaceLine(3, string.Concat(new object[]
                        {
                            "parameters",
                            num,
                            "[",
                            num2,
                            "].Value = Guid.NewGuid();"
                        }));
                    }
                    else
                    {
                        stringPlus5.AppendSpaceLine(3, string.Concat(new object[]
                        {
                            "parameters",
                            num,
                            "[",
                            num2,
                            "].Value = model",
                            ModelName,
                            ".",
                            columnName,
                            ";"
                        }));
                    }
                    num2++;
                }
            }
            stringPlus2.DelLastComma();
            stringPlus3.DelLastComma();
            stringPlus4.DelLastComma();
            stringPlus2.AppendLine(")\");");
            stringPlus.Append(stringPlus2.ToString());
            stringPlus.AppendSpaceLine(3, "strSql.Append(\" values (\");");
            stringPlus.AppendSpaceLine(3, "strSql.Append(\"" + stringPlus3.ToString() + ")\");");
            stringPlus.AppendSpaceLine(3, string.Concat(new object[]
            {
                this.DbParaHead,
                "Parameter[] parameters",
                num,
                " = {"
            }));
            stringPlus.Append(stringPlus4.Value);
            stringPlus.AppendLine("};");
            stringPlus.AppendLine(stringPlus5.Value);
            return(stringPlus.ToString());
        }