コード例 #1
0
        public string CreatPROCGetMaxID()
        {
            StringPlus strclass = new StringPlus();

            if (_keys.Count > 0)
            {
                string keyname = "";
                foreach (ColumnInfo obj in _keys)
                {
                    if (CodeCommon.DbTypeToCS(obj.TypeName) == "int")
                    {
                        keyname = obj.ColumnName;
                        if (obj.IsPK)
                        {
                            strclass.Append("if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[");
                            strclass.Append("" + ProcPrefix + "" + _tablename + "_GetMaxId");
                            strclass.AppendLine("]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)");
                            strclass.AppendLine("drop procedure [dbo].[" + ProcPrefix + "" + _tablename + "_GetMaxId]");
                            strclass.AppendLine("GO");
                            strclass.AppendLine("------------------------------------");
                            strclass.AppendLine("--用途:得到主键字段最大值 ");
                            strclass.AppendLine("--项目名称:" + ProjectName);
                            strclass.AppendLine("--说明:");
                            strclass.AppendLine("--时间:" + DateTime.Now.ToString());
                            strclass.AppendLine("------------------------------------");
                            strclass.AppendLine("CREATE PROCEDURE " + ProcPrefix + "" + _tablename + "_GetMaxId");
                            strclass.AppendLine("AS");
                            strclass.AppendSpaceLine(1, "DECLARE @TempID int");
                            strclass.AppendSpaceLine(1, "SELECT @TempID = max([" + keyname + "])+1 FROM [" + _tablename + "]");
                            strclass.AppendSpaceLine(1, "IF @TempID IS NULL");
                            strclass.AppendSpaceLine(2, "RETURN 1");
                            strclass.AppendSpaceLine(1, "ELSE");
                            strclass.AppendSpaceLine(2, "RETURN @TempID");
                            strclass.AppendLine("");
                            strclass.AppendLine("GO");
                            break;
                        }
                    }
                }
            }
            return(strclass.ToString());
        }
コード例 #2
0
        public static string GetWhereParameterExpression(List <ColumnInfo> keys, bool IdentityisPrior, string DbType)
        {
            StringPlus stringPlus  = new StringPlus();
            ColumnInfo identityKey = CodeCommon.GetIdentityKey(keys);
            bool       flag        = CodeCommon.HasNoIdentityKey(keys);

            //if (flag)
            //{
            //    //没有自增列  用主键
            //    foreach (ColumnInfo current in keys)
            //    {
            //        if (current.IsPrimaryKey)
            //        {
            //            stringPlus.Append(current.ColumnName + "=" + CodeCommon.preParameter(DbType) + current.ColumnName);
            //        }
            //    }
            //}
            //else
            if ((IdentityisPrior && identityKey != null) || (!flag && identityKey != null))
            {
                stringPlus.Append(identityKey.ColumnName + "=" + CodeCommon.preParameter(DbType) + identityKey.ColumnName);
            }
            else
            {
                foreach (ColumnInfo current in keys)
                {
                    if (current.IsPrimaryKey || !current.IsIdentity)
                    {
                        stringPlus.Append(string.Concat(new string[]
                        {
                            current.ColumnName,
                            "=",
                            CodeCommon.preParameter(DbType),
                            current.ColumnName,
                            " and "
                        }));
                    }
                }
                stringPlus.DelLastChar("and");
            }
            return(stringPlus.Value);
        }
コード例 #3
0
        /// <summary>
        /// 得到方法输入参数的列表 (例如:用于Exists  Delete  GetModel 的参数传入)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public string GetInParameter(List <ColumnInfo> fieldlist, bool output)
        {
            StringPlus strclass = new StringPlus();

            foreach (ColumnInfo field in fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                bool   IsPK       = field.IsPK;
                string Length     = field.Length;
                string Preci      = field.Preci;
                string Scale      = field.Scale;

                switch (columnType.ToLower())
                {
                case "decimal":
                case "numeric":
                    strclass.Append("@" + columnName + " " + columnType + "(" + Preci + "," + Scale + ")");
                    break;

                case "varchar":
                case "nvarchar":
                case "char":
                case "nchar":
                    strclass.Append("@" + columnName + " " + columnType + "(" + CodeCommon.GetDataTypeLenVal(columnType.ToLower(), Length) + ")");
                    break;

                default:
                    strclass.Append("@" + columnName + " " + columnType);
                    break;
                }
                if ((IsIdentity) && (output))
                {
                    strclass.AppendLine(" output,");
                    continue;
                }
                strclass.AppendLine(",");
            }
            strclass.DelLastComma();
            return(strclass.Value);
        }
コード例 #4
0
        public string GetWhereExpression(List <ColumnInfo> keys)
        {
            StringPlus stringPlus = new StringPlus();

            foreach (ColumnInfo current in keys)
            {
                stringPlus.Append(current.ColumnName + "=@" + current.ColumnName + " and ");
            }
            stringPlus.DelLastChar("and");
            return(stringPlus.Value);
        }
コード例 #5
0
ファイル: CodeKeys.cs プロジェクト: starseaing/mycodematic
        /// <summary>
        /// 得到参数的列表(例如:用于Exists  Delete  GetModel 的参数传入)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public static string GetParameter(List <CodeKey> keys)
        {
            StringPlus strclass = new StringPlus();

            foreach (CodeKey key in keys)
            {
                strclass.Append(CodeCommon.DbTypeToCS(key.KeyType) + " " + key.KeyName + ",");
            }
            strclass.DelLastComma();
            return(strclass.Value);
        }
コード例 #6
0
        public string CreatPROCUpdate(DataTable dtColumn)
        {
            StringPlus strclass  = new StringPlus();
            StringPlus strclass1 = new StringPlus();

            strclass.AppendLine("------------------------------------");
            strclass.AppendLine("--用途:修改一条记录 ");
            strclass.AppendLine("--项目名称:" + ProjectName);
            strclass.AppendLine("--说明:");
            strclass.AppendLine("--时间:" + DateTime.Now.ToString());
            strclass.AppendLine("------------------------------------");
            strclass.AppendLine("CREATE PROCEDURE " + ProcPrefix + "" + _tablename + "_Update");
            foreach (DataRow row in dtColumn.Rows)
            {
                string columnName = row["ColumnName"].ToString();
                string columnType = row["TypeName"].ToString();
                string Length     = row["Length"].ToString();
                string Preci      = row["Preci"].ToString();
                string Scale      = row["Scale"].ToString();
                switch (columnType.ToLower())
                {
                case "decimal":
                case "numeric":
                    strclass.AppendLine("@" + columnName + " " + columnType + "(" + Preci + "," + Scale + "),");
                    break;

                case "varchar":
                case "nvarchar":
                case "char":
                case "nchar":
                    strclass.AppendLine("@" + columnName + " " + columnType + "(" + Length + "),");
                    break;

                default:
                    strclass.AppendLine("@" + columnName + " " + columnType + ",");
                    break;
                }
                if (ID == columnName)
                {
                    continue;
                }
                strclass1.Append("[" + columnName + "] = @" + columnName + ",");
            }
            strclass.DelLastComma();
            strclass1.DelLastComma();
            strclass.AppendLine("");
            strclass.AppendLine(" AS ");
            strclass.AppendSpaceLine(1, "UPDATE " + _tablename + " SET ");
            strclass.AppendSpaceLine(1, strclass1.Value);
            strclass.AppendSpaceLine(1, "WHERE [" + ID + "] = @" + ID);
            strclass.AppendLine("");
            strclass.AppendLine("GO");
            return(strclass.Value);
        }
コード例 #7
0
ファイル: CodeCommon.cs プロジェクト: starseaing/mycodematic
        /// <summary>
        /// 字段的 select 列表
        /// </summary>
        public static string GetFieldstrlistAdd(List <ColumnInfo> keys)
        {
            StringPlus _fields = new StringPlus();

            foreach (ColumnInfo obj in keys)
            {
                _fields.Append(obj.ColumnName + "+");
            }
            _fields.DelLastChar("+");
            return(_fields.Value);
        }
コード例 #8
0
ファイル: CodeCommon.cs プロジェクト: starseaing/mycodematic
        /// <summary>
        /// 得到方法输入参数的列表 (例如:用于Exists  Delete  GetModel 的参数传入)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public static string GetInParameter(List <ColumnInfo> keys)
        {
            StringPlus strclass = new StringPlus();

            foreach (ColumnInfo key in keys)
            {
                strclass.Append(CodeCommon.DbTypeToCS(key.TypeName) + " " + key.ColumnName + ",");
            }
            strclass.DelLastComma();
            return(strclass.Value);
        }
コード例 #9
0
        /// <summary>
        /// 生成update查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLDelete(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            this.DbName        = dbname;
            this.TableName     = tablename;
            StringPlus strsql = new StringPlus();

            strsql.AppendLine("delete from " + tablename);
            strsql.Append(" where  <搜索条件>");
            return(strsql.Value);
        }
コード例 #10
0
        /// <summary>
        /// 得到Where条件语句 - Parameter方式 (例如:用于Exists  Delete  GetModel 的where)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public string GetWhereExpression(List <ColumnInfo> keys)
        {
            StringPlus strclass = new StringPlus();

            foreach (ColumnInfo key in keys)
            {
                strclass.Append(key.ColumnName + "=" + preParameter + key.ColumnName + " and ");
            }
            strclass.DelLastChar("and");
            return(strclass.Value);
        }
コード例 #11
0
        /// <summary>
        /// 得到GetModel()的代码
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        public string CreatGetModel()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus strclass = new StringPlus();

            strclass.Append("");
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// 得到一个对象实体");
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public " + ModelSpace + " GetModel(" + LTP.CodeHelper.CodeCommon.GetInParameter(Keys) + ")");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, KeysNullTip);
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"select " + Fieldstrlist + " from " + _tablename + " \");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + GetWhereExpression(Keys) + "\");");


            strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
            strclass.AppendSpaceLine(3, "DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());");

            strclass.Append(GetPreParameter(Keys));

            strclass.AppendSpaceLine(3, "" + ModelSpace + " model=null;");


            strclass.AppendSpaceLine(3, "using (IDataReader dataReader = db.ExecuteReader(dbCommand))");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "if(dataReader.Read())");
            strclass.AppendSpaceLine(4, "{");
            strclass.AppendSpaceLine(5, "model=ReaderBind(dataReader);");
            strclass.AppendSpaceLine(4, "}");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(3, "return model;");
            strclass.AppendSpaceLine(2, "}");


            return(strclass.Value);
        }
コード例 #12
0
        public string GetSQLSelect(string dbname, string tablename)
        {
            this.dbobj.DbConnectStr = this._dbconnectStr;
            List <ColumnInfo> columnList = this.dbobj.GetColumnList(dbname, tablename);

            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus stringPlus = new StringPlus();

            stringPlus.Append("select ");
            if (columnList != null && columnList.Count > 0)
            {
                foreach (ColumnInfo current in columnList)
                {
                    stringPlus.Append(current.ColumnName + ",");
                }
                stringPlus.DelLastComma();
            }
            stringPlus.Append(" from " + tablename);
            return(stringPlus.Value);
        }
コード例 #13
0
        /// <summary>
        /// 得到字段列表
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public string GetFieldslist(DataTable dt)
        {
            StringPlus strclass = new StringPlus();

            foreach (DataRow row in dt.Rows)
            {
                string columnName = row["ColumnName"].ToString();
                strclass.Append("[" + columnName + "],");
            }
            strclass.DelLastComma();
            return(strclass.Value);
        }
コード例 #14
0
        /// <summary>
        /// 生成实体类的属性
        /// </summary>
        /// <returns></returns>
        public string CreatModelMethod()
        {
            StringPlus strclass  = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(2, "#region Model");
            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool   IsIdentity = field.IsIdentity;
                bool   ispk       = field.IsPK;
                bool   cisnull    = field.cisNull;
                string deText     = field.DeText;
                columnType = CodeCommon.DbTypeToCS(columnType);
                string isnull = "";
                if (CodeCommon.isValueType(columnType))
                {
                    if ((!IsIdentity) && (!ispk) && (cisnull))
                    {
                        isnull = "?";//代表可空类型
                    }
                }
                strclass1.AppendSpaceLine(2, "private " + columnType + isnull + " _" + columnName.ToLower() + ";");//私有变量
                strclass2.AppendSpaceLine(2, "/// <summary>");
                strclass2.AppendSpaceLine(2, "/// " + deText);
                strclass2.AppendSpaceLine(2, "/// </summary>");
                strclass2.AppendSpaceLine(2, "public " + columnType + isnull + " " + columnName);//属性
                strclass2.AppendSpaceLine(2, "{");
                strclass2.AppendSpaceLine(3, "set{" + " _" + columnName.ToLower() + "=value;}");
                strclass2.AppendSpaceLine(3, "get{return " + "_" + columnName.ToLower() + ";}");
                strclass2.AppendSpaceLine(2, "}");
            }
            strclass.Append(strclass1.Value);
            strclass.Append(strclass2.Value);
            strclass.AppendSpaceLine(2, "#endregion Model");

            return(strclass.ToString());
        }
コード例 #15
0
ファイル: BuilderIDAL.cs プロジェクト: 1416759661/erpcource
        public string GetIDALCode(bool Maxid, bool Exists, bool Add, bool Update, bool Delete, bool GetModel, bool List)
        {
            StringPlus strclass = new StringPlus();

            strclass.AppendLine("using System;");
            strclass.AppendLine("using System.Data;");
            strclass.AppendLine("namespace " + IDALpath);
            strclass.AppendLine("{");
            strclass.AppendSpaceLine(1, "/// <summary>");
            strclass.AppendSpaceLine(1, "/// 接口层" + TableDescription);
            strclass.AppendSpaceLine(1, "/// </summary>");
            strclass.AppendSpaceLine(1, "public interface " + IClass);
            strclass.AppendSpaceLine(1, "{");
            strclass.AppendSpaceLine(2, "#region  成员方法");

            if (Maxid)
            {
                strclass.Append(CreatGetMaxID());
            }
            if (Exists)
            {
                strclass.Append(CreatExists());
            }
            if (Add)
            {
                strclass.Append(CreatAdd());
            }
            if (Update)
            {
                strclass.Append(CreatUpdate());
            }
            if (Delete)
            {
                strclass.Append(CreatDelete());
            }
            if (GetModel)
            {
                strclass.Append(CreatGetModel());
            }
            if (List)
            {
                strclass.Append(CreatGetList());
            }
            strclass.AppendSpaceLine(2, "#endregion  成员方法");


            strclass.AppendSpaceLine(2, "#region  MethodEx");
            strclass.AppendLine("");
            strclass.AppendSpaceLine(2, "#endregion  MethodEx");


            strclass.AppendLine("	} ");
            strclass.AppendLine("}");
            return(strclass.ToString());
        }
コード例 #16
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());
        }
コード例 #17
0
        /// <summary>
        /// 生成update查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLDelete(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            //DataTable dt = dbobj.GetColumnList(dbname, tablename);
            //List<ColumnInfo> collist = dbobj.GetColumnList(dbname, tablename);
            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus strsql = new StringPlus();

            strsql.AppendLine("delete from [" + tablename + "]");
            strsql.Append(" where  <搜索条件>");
            return(strsql.Value);
        }
コード例 #18
0
        /// <summary>
        /// 生成Select查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLSelect(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            DataTable dt = dbobj.GetColumnList(dbname, tablename);

            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus strsql = new StringPlus();

            strsql.Append("select ");
            if (dt != null)
            {
                foreach (DataRow row in dt.Rows)
                {
                    string columnName = row["ColumnName"].ToString();
                    strsql.Append("[" + columnName + "],");
                }
                strsql.DelLastComma();
            }
            strsql.Append(" from " + tablename);
            return(strsql.Value);
        }
コード例 #19
0
        /// <summary>
        /// 生成Select查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLSelect(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            List <ColumnInfo> collist = dbobj.GetColumnList(dbname, tablename);

            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus strsql = new StringPlus();

            strsql.Append("select ");

            if ((collist != null) && (collist.Count > 0))
            {
                foreach (ColumnInfo col in collist)
                {
                    strsql.Append("" + col.ColumnName + ",");
                }
                strsql.DelLastComma();
            }
            strsql.Append(" from " + tablename);
            return(strsql.Value);
        }
コード例 #20
0
ファイル: CodeCommon.cs プロジェクト: zhangxsheng/Codematic
        public static string GetInParameter(List <ColumnInfo> keys, bool IdentityisPrior)
        {
            StringPlus stringPlus  = new StringPlus();
            ColumnInfo identityKey = CodeCommon.GetIdentityKey(keys);

            if (IdentityisPrior && identityKey != null)
            {
                stringPlus.Append(CodeCommon.DbTypeToCS(identityKey.TypeName) + " " + identityKey.ColumnName);
            }
            else
            {
                foreach (ColumnInfo current in keys)
                {
                    if (current.IsPrimaryKey || !current.IsIdentity)
                    {
                        stringPlus.Append(CodeCommon.DbTypeToCS(current.TypeName) + " " + current.ColumnName + ",");
                    }
                }
                stringPlus.DelLastComma();
            }
            return(stringPlus.Value);
        }
コード例 #21
0
ファイル: CodeCommon.cs プロジェクト: zhangxsheng/Codematic
        public static string GetFieldstrlistAdd(List <ColumnInfo> keys, bool IdentityisPrior)
        {
            StringPlus stringPlus  = new StringPlus();
            ColumnInfo identityKey = CodeCommon.GetIdentityKey(keys);

            if (IdentityisPrior && identityKey != null)
            {
                stringPlus.Append(identityKey.ColumnName);
            }
            else
            {
                foreach (ColumnInfo current in keys)
                {
                    if (current.IsPrimaryKey || !current.IsIdentity)
                    {
                        stringPlus.Append(current.ColumnName + "+");
                    }
                }
                stringPlus.DelLastChar("+");
            }
            return(stringPlus.Value);
        }
コード例 #22
0
        public string CreatPROCADD()
        {
            StringPlus stringPlus  = new StringPlus();
            StringPlus stringPlus2 = new StringPlus();
            StringPlus stringPlus3 = new StringPlus();

            stringPlus.AppendLine("------------------------------------");
            stringPlus.AppendLine("--用途:增加一条记录 ");
            stringPlus.AppendLine("--项目名称:" + this.ProjectName);
            stringPlus.AppendLine("--说明:");
            stringPlus.AppendLine("--时间:" + DateTime.Now.ToString());
            stringPlus.AppendLine("------------------------------------");
            stringPlus.AppendLine("CREATE PROCEDURE " + this.ProcPrefix + this._tablename + "_ADD");
            stringPlus.AppendLine(this.GetInParameter(this.Fieldlist, true));
            foreach (ColumnInfo current in this.Fieldlist)
            {
                string columnName = current.ColumnName;
                string typeName   = current.TypeName;
                bool   isIdentity = current.IsIdentity;
                bool   arg_E9_0   = current.IsPrimaryKey;
                string arg_F0_0   = current.Length;
                string arg_F7_0   = current.Precision;
                string arg_FE_0   = current.Scale;
                if (isIdentity)
                {
                    this._key     = columnName;
                    this._keyType = typeName;
                }
                else
                {
                    stringPlus2.Append(columnName + ",");
                    stringPlus3.Append("@" + columnName + ",");
                }
            }
            stringPlus2.DelLastComma();
            stringPlus3.DelLastComma();
            stringPlus.AppendLine("");
            stringPlus.AppendLine(" AS ");
            stringPlus.AppendSpaceLine(1, "INSERT INTO " + this._tablename + "(");
            stringPlus.AppendSpaceLine(1, stringPlus2.Value);
            stringPlus.AppendSpaceLine(1, ")VALUES(");
            stringPlus.AppendSpaceLine(1, stringPlus3.Value);
            stringPlus.AppendSpaceLine(1, ")");
            if (this.IsHasIdentity)
            {
                stringPlus.AppendSpaceLine(1, "SET @" + this._key + " = @@IDENTITY");
            }
            stringPlus.AppendLine("");
            stringPlus.AppendLine("GO");
            return(stringPlus.Value);
        }
コード例 #23
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(3, "db.AddInParameter(dbCommand, \"" + columnName + "\", DbType." + CSToProcType(columnType) + ", model." + columnName + ");");

                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, "Database db = DatabaseFactory.CreateDatabase();");
            strclass.AppendSpaceLine(3, "DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());");


            strclass.Append(strclass1.Value);
            strclass.AppendSpaceLine(3, "db.ExecuteNonQuery(dbCommand);\r\n");
            strclass.AppendSpaceLine(2, "}");
            return(strclass.ToString());
        }
コード例 #24
0
        /// <summary>
        /// 得到主键条件字段参数定义列表
        /// </summary>
        /// <param name="Keys"></param>
        /// <returns></returns>
        public string GetkeyParalist(Hashtable Keys)
        {
            StringPlus strlist = new StringPlus();

            foreach (DictionaryEntry key in Keys)
            {
                strlist.Append(CodeCommon.DbTypeToCS(key.Value.ToString()) + " " + key.Key.ToString() + ",");
            }
            if (strlist.Value.IndexOf(",") > 0)
            {
                strlist.DelLastComma();
            }
            return(strlist.Value);
        }
コード例 #25
0
ファイル: CodeCommon.cs プロジェクト: zhangxsheng/Codematic
        public static string GetWhereExpression(List <ColumnInfo> keys, bool IdentityisPrior)
        {
            StringPlus stringPlus  = new StringPlus();
            ColumnInfo identityKey = CodeCommon.GetIdentityKey(keys);

            if (IdentityisPrior && identityKey != null)
            {
                if (CodeCommon.IsAddMark(identityKey.TypeName))
                {
                    stringPlus.Append(identityKey.ColumnName + "='\"+" + identityKey.ColumnName + "+\"'");
                }
                else
                {
                    stringPlus.Append(identityKey.ColumnName + "=\"+" + identityKey.ColumnName + "+\"");
                }
            }
            else
            {
                foreach (ColumnInfo current in keys)
                {
                    if (current.IsPrimaryKey || !current.IsIdentity)
                    {
                        if (CodeCommon.IsAddMark(current.TypeName))
                        {
                            stringPlus.Append(current.ColumnName + "='\"+" + current.ColumnName + "+\"' and ");
                        }
                        else
                        {
                            stringPlus.Append(current.ColumnName + "=\"+" + current.ColumnName + "+\" and ");
                        }
                    }
                }
                stringPlus.DelLastChar("and");
            }
            return(stringPlus.Value);
        }
コード例 #26
0
        /// <summary>
        /// 生成INSERT查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLInsert(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            //DataTable dt = dbobj.GetColumnList(dbname, tablename);
            List <ColumnInfo> collist = dbobj.GetColumnList(dbname, tablename);

            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus strsql  = new StringPlus();
            StringPlus strsql2 = new StringPlus();

            strsql.AppendLine("INSERT INTO [" + tablename + "] ( ");

            if ((collist != null) && (collist.Count > 0))
            {
                foreach (ColumnInfo col in collist)
                {
                    string columnName = col.ColumnName;
                    string columnType = col.TypeName;

                    strsql.AppendLine("[" + columnName + "] ,");
                    if (LTP.CodeHelper.CodeCommon.IsAddMark(columnType))
                    {
                        strsql2.Append("'" + columnName + "',");
                    }
                    else
                    {
                        strsql2.Append(columnName + ",");
                    }
                }
                strsql.DelLastComma();
                strsql2.DelLastComma();
            }
            strsql.Append(") VALUES (" + strsql2.Value + ")");
            return(strsql.Value);
        }
コード例 #27
0
ファイル: BuilderDAL.cs プロジェクト: zhangxsheng/Codematic
        public string GetWhereExpression(List <ColumnInfo> keys)
        {
            StringPlus stringPlus = new StringPlus();

            foreach (ColumnInfo current in keys)
            {
                stringPlus.Append(string.Concat(new string[]
                {
                    current.ColumnName,
                    "=",
                    this.preParameter,
                    current.ColumnName,
                    " and "
                }));
            }
            stringPlus.DelLastChar("and");
            return(stringPlus.Value);
        }
コード例 #28
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);
        }
コード例 #29
0
        /// <summary>
        /// 得到Exists方法的代码
        /// </summary>
        /// <param name="_tablename"></param>
        /// <param name="ID"></param>
        /// <returns></returns>
        public string CreatExists()
        {
            StringPlus strclass = new StringPlus();

            if (_keys.Count > 0)
            {
                strclass.AppendSpaceLine(2, "/// <summary>");
                strclass.AppendSpaceLine(2, "/// 是否存在该记录");
                strclass.AppendSpaceLine(2, "/// </summary>");
                strclass.AppendSpaceLine(2, "public bool Exists(" + LTP.CodeHelper.CodeCommon.GetInParameter(Keys) + ")");
                strclass.AppendSpaceLine(2, "{");

                strclass.AppendSpaceLine(3, "Database db = DatabaseFactory.CreateDatabase();");
                strclass.AppendSpaceLine(3, "StringBuilder strSql = new StringBuilder();");
                strclass.AppendSpace(3, "strSql.Append(\"select count(1) from " + _tablename);
                strclass.AppendLine(" where " + GetWhereExpression(Keys) + "\");");
                strclass.AppendSpaceLine(3, "DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());");
                strclass.Append(GetPreParameter(Keys));
                strclass.AppendSpaceLine(3, "int cmdresult;");
                strclass.AppendSpaceLine(3, "object obj = db.ExecuteScalar(dbCommand);");

                strclass.AppendSpaceLine(3, "if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "cmdresult = 0;");
                strclass.AppendSpaceLine(3, "}");
                strclass.AppendSpaceLine(3, "else");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "cmdresult = int.Parse(obj.ToString());");
                strclass.AppendSpaceLine(3, "}");
                strclass.AppendSpaceLine(3, "if (cmdresult == 0)");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "return false;");
                strclass.AppendSpaceLine(3, "}");
                strclass.AppendSpaceLine(3, "else");
                strclass.AppendSpaceLine(3, "{");
                strclass.AppendSpaceLine(4, "return true;");
                strclass.AppendSpaceLine(3, "}");
                strclass.AppendSpaceLine(2, "}");
            }
            return(strclass.Value);
        }
コード例 #30
0
        /// <summary>
        /// 生成update查询语句
        /// </summary>
        /// <param name="dbname">库名</param>
        /// <param name="tablename">表名</param>
        /// <returns></returns>
        public string GetSQLUpdate(string dbname, string tablename)
        {
            dbobj.DbConnectStr = _dbconnectStr;
            List <ColumnInfo> collist = dbobj.GetColumnList(dbname, tablename);

            this.DbName    = dbname;
            this.TableName = tablename;
            StringPlus strsql = new StringPlus();

            strsql.AppendLine("update [" + tablename + "] set ");
            if ((collist != null) && (collist.Count > 0))
            {
                foreach (ColumnInfo col in collist)
                {
                    strsql.AppendLine("[" + col.ColumnName + "] = <" + col.ColumnName + ">,");
                }
                strsql.DelLastComma();
            }
            strsql.Append(" where <搜索条件>");
            return(strsql.Value);
        }
コード例 #31
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// �õ�Update�����Ĵ���
        /// </summary>     
        public string CreatUpdate()
        {
            //if (ModelSpaceParent == "")
            //{
            //    ModelSpaceParent = "ModelClassName"; ;
            //}
            StringPlus strclass = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryUpdate"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public bool Update(" + ModelSpaceParent + " model)");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"update " + _tablenameparent + " set \");");
            int n = 0;
            if (FieldlistParent.Count == 0)
            {
                FieldlistParent = KeysParent;
            }
            foreach (ColumnInfo field in FieldlistParent)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                string Length = field.Length;
                bool IsIdentity = field.IsIdentity;
                bool isPK = field.IsPrimaryKey;

                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.IsPrimaryKey || (KeysParent.Contains(field)))
                {
                    continue;
                }
                strclass.AppendSpaceLine(3, "strSql.Append(\"" + columnName + "=" + preParameter + columnName + ",\");");
            }

            //ȥ�����Ķ���
            strclass.DelLastComma();
            strclass.AppendLine("\");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + CodeCommon.GetWhereParameterExpression(KeysParent, true, dbobj.DbType) + "\");");

            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            strclass1.DelLastComma();
            strclass.Append(strclass1.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass2.Value);
            strclass.AppendSpaceLine(3, "int rowsAffected=" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");

            strclass.AppendSpaceLine(3, "if (rowsAffected > 0)");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return true;");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(3, "else");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return false;");
            strclass.AppendSpaceLine(3, "}");

            strclass.AppendSpaceLine(2, "}");
            return strclass.ToString();
        }
コード例 #32
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
 ///// <summary>
 ///// �õ�Where������� - Parameter��ʽ (���磺����Exists  Delete  GetModel ��where)
 ///// </summary>
 ///// <param name="keys"></param>
 ///// <returns></returns>
 //public string GetWhereExpression(List<ColumnInfo> keys)
 //{
 //    StringPlus strclass = new StringPlus();
 //    foreach (ColumnInfo key in keys)
 //    {
 //        strclass.Append(key.ColumnName + "=" + preParameter + key.ColumnName + " and ");
 //    }
 //    strclass.DelLastChar("and");
 //    return strclass.Value;
 //}
 ///// <summary>
 ///// ����sql����еIJ����б�(���磺����Add  Exists  Update Delete  GetModel �IJ�������)
 ///// </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;
 //}
 /// <summary>
 /// ����sql����еIJ����б�(���磺����Add  Exists  Update Delete  GetModel �IJ�������)
 /// </summary>
 /// <param name="keys"></param>
 /// <returns></returns>
 public string GetPreParameter(List<ColumnInfo> keys, string numPara)
 {
     StringPlus strclass = new StringPlus();
     StringPlus strclass2 = new StringPlus();
     strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters" + numPara + " = {");
     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" + numPara + "[" + n.ToString() + "].Value = " + key.ColumnName + ";");
         n++;
     }
     strclass.DelLastComma();
     strclass.AppendLine("};");
     strclass.Append(strclass2.Value);
     return strclass.Value;
 }
コード例 #33
0
ファイル: BuilderModel.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// ����ʵ���������
        /// </summary>
        /// <returns></returns>
        public string CreatModelMethod()
        {
            StringPlus strclass = new StringPlus();
            StringPlus strclass1 = new StringPlus();
            StringPlus strclass2 = new StringPlus();

            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnTypedb = field.TypeName;
                bool IsIdentity = field.IsIdentity;
                bool ispk = field.IsPrimaryKey;
                bool cisnull = field.Nullable;
                //string defValue=field.DefaultVal;
                string deText = field.Description;
                string columnType = CodeCommon.DbTypeToCS(columnTypedb);
                string isnull = "";
                if (CodeCommon.isValueType(columnType))
                {
                    if ((!IsIdentity) && (!ispk) && (cisnull))
                    {
                        isnull = "?";//����ɿ�����
                    }
                }

                strclass1.AppendSpace(2, "private " + columnType + isnull + " _" + columnName.ToLower());//˽�б���
                if (field.DefaultVal.Length > 0)
                {
                    switch (columnType.ToLower())
                    {
                        case "int":
                        case "long":
                            strclass1.Append("=" + field.DefaultVal.Trim().Replace("'", ""));
                            break;
                        case "bool":
                        case "bit":
                            {
                                string val=field.DefaultVal.Trim().Replace("'", "").ToLower();
                                if(val=="1"||val=="true")
                                {
                                    strclass1.Append("= true" );
                                }
                                else
                                {
                                    strclass1.Append("= false");
                                }

                            }
                            break;
                        case "nchar":
                        case "ntext":
                        case "nvarchar":
                        case "char":
                        case "text":
                        case "varchar":
                        case "string":
                            if (field.DefaultVal.Trim().StartsWith("N'"))
                            {
                                strclass1.Append("=" + field.DefaultVal.Trim().Remove(0, 1).Replace("'", "\""));
                            }
                            else
                            {
                                if (field.DefaultVal.Trim().IndexOf("'") > -1)
                                {
                                    strclass1.Append("=" + field.DefaultVal.Trim().Replace("'", "\""));
                                }
                                else
                                {
                                    strclass1.Append("= \"" + field.DefaultVal.Trim().Replace("(", "").Replace(")", "") + "\"");
                                }
                            }
                            break;
                        case "datetime":
                            if (field.DefaultVal == "getdate"||
                                field.DefaultVal == "Now()"||
                                field.DefaultVal == "Now"||
                                field.DefaultVal == "CURRENT_TIME" ||
                                field.DefaultVal == "CURRENT_DATE"||
                                field.DefaultVal.ToLower().Trim((char)13).Trim((char)10) == "sysdate"||
                                field.DefaultVal.ToUpper().Trim((char)13).Trim((char)10) == "CURRENT_TIMESTAMP"
                                )
                            {
                                strclass1.Append("= DateTime.Now");
                            }
                            else
                            {
                                strclass1.Append("= Convert.ToDateTime(" + field.DefaultVal.Trim().Replace("'", "\"") + ")");
                            }
                            break;
                        case "uniqueidentifier":
                            {
                                //if (field.DefaultVal == "newid")
                                //{
                                //    strclass1.Append("=" + field.DefaultVal.Trim().Replace("'", ""));
                                //}
                            }
                            break;
                        case "decimal":
                        case "double":
                        case "float":
                            {
                               // strclass1.Append("=" + field.DefaultVal.Replace("'", "").Replace("(", "").Replace(")", "").ToLower());
                               //strclass1.Append("=" + field.DefaultVal.Replace("'", "").Replace("(", "").Replace(")", "").ToLower().Replace((char)13, '\0').Replace((char)10, '\0').Trim('\0'));
                                strclass1.Append("=" + field.DefaultVal.Replace("'", "").Replace("(", "").Replace(")", "").ToLower().Trim((char)13).Trim((char)10)+"M");
                                // ���ȥ�ո�ͻس�����
                                 //strclass1.Append();
                            }
                            break;
                        //case "sys_guid()":
                        //    break;
                        default:
                        //    strclass1.Append("=" + field.DefaultVal);
                            break;

                    }
                }
                strclass1.AppendLine(";");

                strclass2.AppendSpaceLine(2, "/// <summary>");
                strclass2.AppendSpaceLine(2, "/// " + deText);
                strclass2.AppendSpaceLine(2, "/// </summary>");
                strclass2.AppendSpaceLine(2, "public " + columnType + isnull + " " + columnName);//����
                strclass2.AppendSpaceLine(2, "{");
                strclass2.AppendSpaceLine(3, "set{" + " _" + columnName.ToLower() + "=value;}");
                strclass2.AppendSpaceLine(3, "get{return " + "_" + columnName.ToLower() + ";}");
                strclass2.AppendSpaceLine(2, "}");
            }

            strclass.AppendSpaceLine(2, " //�ڲ���Ա����");
            strclass.Append(strclass1.Value);
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "#region ʵ������");

            strclass.Append(strclass2.Value);
            strclass.AppendSpaceLine(2, "#endregion");

            return strclass.ToString();
        }
コード例 #34
0
ファイル: BuilderBLL.cs プロジェクト: yichao0803/Builder
        public string CreatBLLUpdate()
        {
            StringPlus strclass = new StringPlus();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryUpdate"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public bool Update(" + ModelSpace + " model)");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "return dal.Update(model);");
            strclass.AppendSpaceLine(2, "}");

            #region �������޸�  2015-09-15 ���峬 ������

            StringPlus strclass0 = new StringPlus();// �������
            StringPlus strclass1 = new StringPlus();// ������֤ ��������ֵ
            StringPlus strclass2 = new StringPlus();// model ��ֵ

            //bool ishasuser = false;
            // int errorCode = 1;
            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                //columnName.
                string columnNameToLower = columnName.ToLower();
                string columnType = field.TypeName;
                string deText = field.Description;
                bool ispk = field.IsPrimaryKey;
                bool IsIdentity = field.IsIdentity;
                //if ((IsIdentity))
                //{
                //    continue;
                //}
                //if ("uniqueidentifier" == columnType.ToLower())
                //{
                //    continue;
                //}
                if (columnNameToLower == "timestamp") continue;

                //���Զ���-�����ֶδ���

                deText = Maticsoft.CodeHelper.CodeCommon.CutDescText(deText, 15, columnName);

                strclass0.Append("string " + columnNameToLower + ",");
                if (field.Nullable)
                {
                    switch (CodeCommon.DbTypeToCS(columnType.Trim().ToLower()).ToLower())
                    {
                        case "int":
                        case "smallint":
                            strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsNumber(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2Int(" + columnNameToLower + ");");
                            break;
                        case "float":
                        case "numeric":
                        case "decimal":
                            strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsDecimal(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2Dec(" + columnNameToLower + ");");
                            break;
                        case "datetime":
                        case "smalldatetime":
                            strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsDateTime(" + columnNameToLower + ")) strErr=\"" + deText + " ����ʱ���ַ�����\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2DateTime(" + columnNameToLower + ");");
                            break;
                        case "bool":
                            break;
                        case "byte[]":
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=new UnicodeEncoding().GetBytes(" + columnNameToLower + ");");
                            break;
                        case "guid":
                        case "uniqueidentifier":
                            break;
                        default:
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=" + columnNameToLower + ";");
                            break;
                    }
                }
                else
                {
                    switch (CodeCommon.DbTypeToCS(columnType.Trim().ToLower()).ToLower())
                    {
                        case "int":
                        case "smallint":
                            strclass1.AppendSpaceLine(3, "if(!PageValidate.IsNumber(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=int.Parse(" + columnNameToLower + ");");
                            break;
                        case "float":
                        case "numeric":
                        case "decimal":
                            strclass1.AppendSpaceLine(3, "if(!PageValidate.IsDecimal(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=decimal.Parse(" + columnNameToLower + ");");
                            break;
                        case "datetime":
                        case "smalldatetime":
                            strclass1.AppendSpaceLine(3, "if(!PageValidate.IsDateTime(" + columnNameToLower + ")) strErr=\"" + deText + " ����ʱ���ַ�����\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=DateTime.Parse(" + columnNameToLower + ");");
                            break;
                        case "bool":
                            break;
                        case "byte[]":
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=new UnicodeEncoding().GetBytes(" + columnNameToLower + ");");
                            break;
                        case "guid":
                        case "uniqueidentifier":
                            break;
                        default:
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=" + columnNameToLower + ";");
                            break;
                    }
                }

            }

            string strretu = "bool";
            strclass0.DelLastComma(); // ȥ�����һ������
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryadd"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public " + strretu + " Update(" + strclass0.ToString() + ")");
            strclass.AppendSpaceLine(2, "{");
            //strclass.AppendSpaceLine(3, "string strErr=\"\";");
            //strclass.AppendLine(strclass1.ToString());// ������֤
            strclass.AppendSpaceLine(3, ModelSpace + " model=new " + ModelSpace + "();");
            strclass.AppendLine(strclass2.ToString());// ���ݸ�ֵ

            //strclass.AppendSpaceLine(3, "dal.Update(model);");
            //strclass.AppendSpaceLine(3, "return strErr;");
            strclass.AppendSpaceLine(3,"return dal.Update(model);");

            strclass.AppendSpaceLine(2, "}");
            #endregion

            return strclass.ToString();
        }
コード例 #35
0
ファイル: BuilderBLL.cs プロジェクト: yichao0803/Builder
        public string CreatBLLADD()
        {
            StringPlus strclass = new StringPlus();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryadd"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            string strretu = "bool";
            if ((DbType == "SQL2000" || DbType == "SQL2005" || DbType == "SQL2008"
                || DbType == "SQL2012" || DbType == "SQLite" || DbType == "MySQL") && (IsHasIdentity))
            {
                strretu = "int";
                if (_keyType != "int")
                {
                    strretu = _keyType;
                }
            }
            strclass.AppendSpaceLine(2, "public " + strretu + " Add(" + ModelSpace + " model)");
            strclass.AppendSpaceLine(2, "{");
            if (strretu == "void")
            {
                strclass.AppendSpaceLine(3, "dal.Add(model);");
            }
            else
            {
                strclass.AppendSpaceLine(3, "return dal.Add(model);");
            }
            strclass.AppendSpaceLine(2, "}");

            #region ���������

            StringPlus strclass0 = new StringPlus();// �������
            StringPlus strclass1 = new StringPlus();// ������֤ ��������ֵ
            StringPlus strclass2 = new StringPlus();// model ��ֵ

            //bool ishasuser = false;
            int errorCode = 1;
            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                //columnName.
                string columnNameToLower = columnName.ToLower();
                string columnType = field.TypeName;
                string deText = field.Description;
                bool ispk = field.IsPrimaryKey;
                bool IsIdentity = field.IsIdentity;
                if (field.IsIdentity || field.ColumnName == "PK_ID")
                {
                    continue;
                }
                if ("uniqueidentifier" == columnType.ToLower())
                {
                    continue;
                }
                if (columnNameToLower == "timestamp") continue;

                //���Զ���-�����ֶδ���
                //if ((!ishasuser) && ((columnName.IndexOf("_iCreator") > 0) || (columnName.IndexOf("_iMaintainer") > 0)))
                //{
                //    strclass0.AppendSpaceLine(3, "User currentUser;");
                //    strclass0.AppendSpaceLine(3, "if (Session[\"UserInfo\"] != null)");
                //    strclass0.AppendSpaceLine(3, "{");
                //    strclass0.AppendSpaceLine(4, "currentUser = (User)Session[\"UserInfo\"];");
                //    strclass0.AppendSpaceLine(3, "}else{");
                //    strclass0.AppendSpaceLine(4, "return;");
                //    strclass0.AppendSpaceLine(3, "}");
                //    ishasuser = true;
                //}

                deText = Maticsoft.CodeHelper.CodeCommon.CutDescText(deText, 15, columnName);

                strclass0.Append("string " + columnNameToLower + ",");
                if (field.Nullable)
                {
                    switch (CodeCommon.DbTypeToCS(columnType.Trim().ToLower()).ToLower())
                    {
                        case "int":
                        case "smallint":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsNumber(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2Int(" + columnNameToLower + ");");
                            break;
                        case "float":
                        case "numeric":
                        case "decimal":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsDecimal(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2Dec(" + columnNameToLower + ");");
                            break;
                        case "datetime":
                        case "smalldatetime":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!string.IsNullOrEmpty(" + columnNameToLower + ")&&!string.IsNullOrEmpty(" + columnNameToLower + ")&&!PageValidate.IsDateTime(" + columnNameToLower + ")) strErr=\"" + deText + " ����ʱ���ַ�����\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=StringHelper.Str2DateTime(" + columnNameToLower + ");");
                            break;
                        case "bool":
                            break;
                        case "byte[]":
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=new UnicodeEncoding().GetBytes(" + columnNameToLower + ");");
                            break;
                        case "guid":
                        case "uniqueidentifier":
                            break;
                        default:
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=" + columnNameToLower + ";");
                            break;
                    }
                }
                else
                {
                    switch (CodeCommon.DbTypeToCS(columnType.Trim().ToLower()).ToLower())
                    {
                        case "int":
                        case "smallint":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!PageValidate.IsNumber(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=int.Parse(" + columnNameToLower + ");");
                            break;
                        case "float":
                        case "numeric":
                        case "decimal":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!PageValidate.IsDecimal(" + columnNameToLower + ")) strErr=\"" + deText + " �������֣�\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=decimal.Parse(" + columnNameToLower + ");");
                            break;
                        case "datetime":
                        case "smalldatetime":
                            if (DbType == "Oracle") strclass1.AppendSpaceLine(3, "if(!PageValidate.IsDateTime(" + columnNameToLower + ")) strErr=\"" + deText + " ����ʱ���ַ�����\\\\n\"; if(!string.IsNullOrEmpty(strErr))return strErr;");
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=DateTime.Parse(" + columnNameToLower + ");");
                            break;
                        case "bool":
                            break;
                        case "byte[]":
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=new UnicodeEncoding().GetBytes(" + columnNameToLower + ");");
                            break;
                        case "guid":
                        case "uniqueidentifier":
                            break;
                        default:
                            strclass2.AppendSpaceLine(3, "model." + columnName + "=" + columnNameToLower + ";");
                            break;
                    }
                }
            }

            if (DbType == "Oracle") strretu = "string";
            strclass0.DelLastComma(); // ȥ�����һ������
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryadd"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public " + strretu + " Add(" + strclass0.ToString() + ")");
            strclass.AppendSpaceLine(2, "{");
            if (DbType == "Oracle") strclass.AppendSpaceLine(3, "string strErr=\"\";");
               // 2015-10-21 ���峬ע�� strclass.AppendLine(strclass1.ToString());// ������֤
            strclass.AppendSpaceLine(3, ModelSpace + " model=new " + ModelSpace + "();");
            strclass.AppendLine(strclass2.ToString());// ���ݸ�ֵ

            if (DbType == "Oracle")
            {
                strclass.AppendSpaceLine(3, "dal.Add(model);");
                strclass.AppendSpaceLine(3, "return strErr;");
            }
            else
            {
                strclass.AppendSpaceLine(3, "return dal.Add(model);");
            }

            strclass.AppendSpaceLine(2, "}");
            #endregion
            return strclass.ToString();
        }
コード例 #36
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <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, "/// " + Languagelist["summaryadd"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            string strretu = "bool";
               // strclass.AppendSpaceLine(2, "//" + dbobj.DbType);
               // strclass.AppendSpaceLine(2, "//" + (dbobj.DbType == "MySQL"));
               // strclass.AppendSpaceLine(2, "//" + IsHasIdentity);
            if ((dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2005" ||
                dbobj.DbType == "SQL2008" || dbobj.DbType == "SQL2012" || dbobj.DbType == "SQLite" || dbobj.DbType == "MySQL") && (IsHasIdentity))
            {
                strretu = "int";
                if (_IdentityKeyType != "int")
                {
                    strretu = _IdentityKeyType;
                }
            }

            //��������ͷ
            string strFun = CodeCommon.Space(2) + "public " + strretu + " Add(" + ModelSpace + " model)";
            strclass.AppendLine(strFun);
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "int indexPar = 0;");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"insert into " + _tablename + "(\");");
            strclass1.AppendSpace(3, "strSql.Append(\"");
            //int n = 0; �޸�Ϊ�ڲ� indexPar++
            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                bool IsIdentity = field.IsIdentity;
                string Length = field.Length;
                bool nullable = field.Nullable;
               // strclass4.AppendSpaceLine(3, " // " + field.IsIdentity);
                if (field.IsIdentity || field.ColumnName == "PK_ID")
                {
                    continue;
                }

                strclass3.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass1.Append(columnName + ",");
                strclass2.Append(preParameter + columnName + ",");
                if ("uniqueidentifier" == columnType.ToLower())
                {
                    strclass4.AppendSpaceLine(3, "parameters[indexPar++].Value = Guid.NewGuid();");
                }
                else
                {
                    strclass4.AppendSpaceLine(3, "parameters[indexPar++].Value = " + DbHelperName + ".Var2Db(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" || dbobj.DbType == "SQL2012") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "strSql.Append(\";select @@IDENTITY\");");
            }
            if ((dbobj.DbType == "SQLite") && (IsHasIdentity))
            {
                strclass.AppendSpaceLine(3, "strSql.Append(\";select LAST_INSERT_ROWID()\");");
            }
            if ((dbobj.DbType == "MySQL") && (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 (strretu == "void")
            {
                strclass.AppendSpaceLine(3, "" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");
            }
            else
                if (strretu == "bool")
                {
                    strclass.AppendSpaceLine(3, "int rows=" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");
                    strclass.AppendSpaceLine(3, "if (rows > 0)");
                    strclass.AppendSpaceLine(3, "{");
                    strclass.AppendSpaceLine(4, "return true;");
                    strclass.AppendSpaceLine(3, "}");
                    strclass.AppendSpaceLine(3, "else");
                    strclass.AppendSpaceLine(3, "{");
                    strclass.AppendSpaceLine(4, "return false;");
                    strclass.AppendSpaceLine(3, "}");
                }
                else
                {
                    strclass.AppendSpaceLine(3, "object obj = " + DbHelperName + ".GetSingle(strSql.ToString(),parameters);");
                    strclass.AppendSpaceLine(3, "if (obj == null)");
                    strclass.AppendSpaceLine(3, "{");
                    strclass.AppendSpaceLine(4, "return 0;");
                    strclass.AppendSpaceLine(3, "}");
                    strclass.AppendSpaceLine(3, "else");
                    strclass.AppendSpaceLine(3, "{");
                    switch (strretu)
                    {
                        case "int":
                            strclass.AppendSpaceLine(4, "return Convert.ToInt32(obj);");
                            break;
                        case "long":
                            strclass.AppendSpaceLine(4, "return Convert.ToInt64(obj);");
                            break;
                        case "decimal":
                            strclass.AppendSpaceLine(4, "return Convert.ToDecimal(obj);");
                            break;
                    }

                    strclass.AppendSpaceLine(3, "}");
                }
            strclass.AppendSpace(2, "}");
            return strclass.ToString();
        }
コード例 #37
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// �õ�GetModel()�Ĵ���
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        public string CreatGetModel()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus strclass = new StringPlus();
               // strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryGetModel"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public " + ModelSpace + " GetModel(" + Maticsoft.CodeHelper.CodeCommon.GetInParameter(Keys, true) + ")");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, KeysNullTip);
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpace(3, "strSql.Append(\"select ");
            if (dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2008" || dbobj.DbType == "SQL2012")
            {
                strclass.Append(" top 1 ");
            }
            strclass.AppendLine(Fieldstrlist + " from " + _tablename + " \");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + CodeCommon.GetWhereParameterExpression(Keys, true, dbobj.DbType) + "\");");

            strclass.AppendLine(CodeCommon.GetPreParameter(Keys, true, dbobj.DbType));

            strclass.AppendSpaceLine(3, "" + ModelSpace + " model=new " + ModelSpace + "();");
            strclass.AppendSpaceLine(3, "DataSet ds=" + DbHelperName + ".Query(strSql.ToString(),parameters);");
            strclass.AppendSpaceLine(3, "if(ds.Tables[0].Rows.Count>0)");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return DataRowToModel(ds.Tables[0].Rows[0]);");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(3, "else");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return null;");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(2, "}");
            return strclass.ToString();
        }
コード例 #38
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <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();
            StringPlus strclass3 = new StringPlus();
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryUpdate"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public bool Update(" + ModelSpace + " model)");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "int indexPar = 0;");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpaceLine(3, "strSql.Append(\"update " + _tablename + " set \");");
            int n = 0;

            if (Fieldlist.Count == 0)
            {
                Fieldlist = Keys;
            }

            //�������ֶ���䣬��ʱ����
            List<ColumnInfo> fieldpk = new List<ColumnInfo>();

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

                if (field.IsIdentity || field.IsPrimaryKey || (Keys.Contains(field)))
                {
                    fieldpk.Add(field);
                    continue;
                }
                if (columnType.ToLower() == "timestamp")
                {
                    continue;
                }
                strclass1.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + columnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, columnType, Length) + "),");
                strclass2.AppendSpaceLine(3, "parameters[indexPar++].Value = " + DbHelperName + ".Var2Db(model." + columnName + ");");
                n++;

                strclass3.AppendSpaceLine(3, "strSql.Append(\"" + columnName + "=" + preParameter + columnName + ",\");");
            }
            foreach (ColumnInfo field in fieldpk)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;
                string Length = field.Length;
                bool IsIdentity = field.IsIdentity;
                bool isPK = field.IsPrimaryKey;

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

            if (strclass3.Value.Length > 0)
            {
                //ȥ�����Ķ���
                strclass3.DelLastComma();
                strclass3.AppendLine("\");");
            }
            else
            {
                strclass3.AppendLine("#warning ϵͳ����ȱ�ٸ��µ��ֶΣ����ֹ�ȷ����˸����Ƿ���ȷ�� ");
                foreach (ColumnInfo field in Fieldlist)
                {
                    string columnName = field.ColumnName;
                    strclass3.AppendSpaceLine(3, "strSql.Append(\"" + columnName + "=" + preParameter + columnName + ",\");");
                }
                if (Fieldlist.Count > 0)
                {
                    strclass3.DelLastComma();
                    strclass3.AppendLine("\");");
                }

            }

            strclass.Append(strclass3.Value);
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + CodeCommon.GetWhereParameterExpression(Keys, true, dbobj.DbType) + "\");");

            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");
            strclass1.DelLastComma();
            strclass.Append(strclass1.Value);
            strclass.AppendLine("};");
            strclass.AppendLine(strclass2.Value);
            strclass.AppendSpaceLine(3, "int rows=" + DbHelperName + ".ExecuteSql(strSql.ToString(),parameters);");

            strclass.AppendSpaceLine(3, "if (rows > 0)");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return true;");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(3, "else");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return false;");
            strclass.AppendSpaceLine(3, "}");

            strclass.AppendSpaceLine(2, "}");
            return strclass.ToString();
        }
コード例 #39
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// ����sql����еIJ����б�(���磺���� Exists  Delete  GetModel ��where������ֵ)
        /// </summary>
        /// <param name="keys"></param>
        /// <returns></returns>
        public string GetPreParameter(List<ColumnInfo> keys, bool IdentityisPrior)
        {
            StringPlus strclass = new StringPlus();
            StringPlus strclass2 = new StringPlus();
            strclass.AppendSpaceLine(3, "" + DbParaHead + "Parameter[] parameters = {");

            ColumnInfo field = Maticsoft.CodeHelper.CodeCommon.GetIdentityKey(keys);
            if ((IdentityisPrior) && (field != null)) //�б�ʶ�ֶ�
            {
                strclass.AppendSpaceLine(5, "new " + DbParaHead + "Parameter(\"" + preParameter + "" + field.ColumnName + "\", " + DbParaDbType + "." + CodeCommon.DbTypeLength(dbobj.DbType, field.TypeName, "") + ")");
                strclass2.AppendSpaceLine(3, "parameters[0].Value = " + field.ColumnName + ";");
            }
            else
            {
                int n = 0;
                foreach (ColumnInfo key in keys)
                {
                    if (key.IsPrimaryKey)
                    {
                        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;
        }
コード例 #40
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
 /// <summary>
 /// �õ�Where������� - Parameter��ʽ (���磺����Exists  Delete  GetModel ��where)
 /// </summary>
 /// <param name="keys"></param>
 /// <returns></returns>
 public string GetWhereExpression(List<ColumnInfo> keys, bool IdentityisPrior)
 {
     StringPlus strClass = new StringPlus();
     ColumnInfo field = Maticsoft.CodeHelper.CodeCommon.GetIdentityKey(keys);
     if ((IdentityisPrior) && (field != null)) //�б�ʶ�ֶ�
     {
         strClass.Append(field.ColumnName + "=" + preParameter + field.ColumnName);
     }
     else
     {
         foreach (ColumnInfo key in keys)
         {
             if (key.IsPrimaryKey)
             {
                 strClass.Append(key.ColumnName + "=" + preParameter + key.ColumnName + " and ");
             }
         }
         strClass.DelLastChar("and");
     }
     return strClass.Value;
 }
コード例 #41
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        public string GetDALCode(bool Maxid, bool Exists, bool Add, bool Update, bool Delete, bool GetModel, bool List)
        {
            StringPlus strclass = new StringPlus();
            strclass.AppendLine("using System;");
            strclass.AppendLine("using System.Data;");
            strclass.AppendLine("using System.Text;");
            strclass.AppendLine("using System.Collections.Generic;");

            switch (dbobj.DbType)
            {
                case "SQL2005":
                case "SQL2008":
                case "SQL2012":
                    strclass.AppendLine("using System.Data.SqlClient;");
                    break;
                case "SQL2000":
                    strclass.AppendLine("using System.Data.SqlClient;");
                    break;
                case "Oracle":
                    strclass.AppendLine("using System.Data.OracleClient;");
                    break;
                case "MySQL":
                    strclass.AppendLine("using MySql.Data.MySqlClient;");
                    break;
                case "OleDb":
                    strclass.AppendLine("using System.Data.OleDb;");
                    break;
                case "SQLite":
                    strclass.AppendLine("using System.Data.SQLite;");
                    break;
            }
            if (IDALpath != "")
            {
                strclass.AppendLine("using " + IDALpath + ";");
            }
            //  strclass.AppendLine("using Maticsoft.DBUtility;//Please add references");
            // ���峬 2014-10-21 �޸�Ϊ����Ŀ���ݿ⹫����
            strclass.AppendLine("using " + NameSpace + ".DBUtility;");
            strclass.AppendLine("namespace " + DALpath);
            strclass.AppendLine("{");
            strclass.AppendSpaceLine(1, "/// <summary>");
            strclass.AppendSpaceLine(1, "/// " + Languagelist["summary"].ToString() + ":" + DALName);
            strclass.AppendSpaceLine(1, "/// </summary>");
            strclass.AppendSpace(1, "public partial class " + DALName);
            if (IClass != "")
            {
                strclass.Append(":" + IClass);
            }
            strclass.AppendLine("");
            strclass.AppendSpaceLine(1, "{");
            strclass.AppendSpaceLine(2, "public " + DALName + "()");
            strclass.AppendSpaceLine(2, "{}");
            strclass.AppendSpaceLine(2, "#region  Method");

            #region  ��������
            if (Maxid)
            {
                strclass.AppendLine(CreatGetMaxID());
            }
            if (Exists)
            {
                strclass.AppendLine(CreatExists());
            }
            if (Add)
            {
                strclass.AppendLine(CreatAdd());
            }
            if (Update)
            {
                strclass.AppendLine(CreatUpdate());
            }
            if (Delete)
            {
                strclass.AppendLine(CreatDelete());
            }
            if (GetModel)
            {
                strclass.AppendLine(CreatGetModel());
                strclass.AppendLine(CreatDataRowToModel());
            }
            if (List)
            {
                strclass.AppendLine(CreatGetList());
                strclass.AppendLine(CreatGetListByPage());
                strclass.AppendLine(CreatGetListByPageProc());
            }
            #endregion

            strclass.AppendSpaceLine(2, "#endregion  Method");

            //strclass.AppendSpaceLine(2, "#region  MethodEx");
            //strclass.AppendLine("");
            //strclass.AppendSpaceLine(2, "#endregion  MethodEx");

            strclass.AppendSpaceLine(1, "}");
            strclass.AppendLine("}");
            strclass.AppendLine("");

            return strclass.ToString();
        }
コード例 #42
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// �õ�GetModel()�Ĵ���
        /// </summary>
        /// <param name="DbName"></param>
        /// <param name="_tablename"></param>
        /// <param name="_key"></param>
        /// <param name="ModelName"></param>
        /// <returns></returns>
        public string CreatGetModel()
        {
            if (ModelSpace == "")
            {
                //ModelSpace = "ModelClassName"; ;
            }
            StringPlus strclass = new StringPlus();
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "/// <summary>");
            strclass.AppendSpaceLine(2, "/// " + Languagelist["summaryGetModel"].ToString());
            strclass.AppendSpaceLine(2, "/// </summary>");
            strclass.AppendSpaceLine(2, "public " + ModelSpace + " GetModel(" + Maticsoft.CodeHelper.CodeCommon.GetInParameter(Keys, true) + ")");
            strclass.AppendSpaceLine(2, "{");
            strclass.AppendSpaceLine(3, "StringBuilder strSql=new StringBuilder();");
            strclass.AppendSpace(3, "strSql.Append(\"select ");
            if (dbobj.DbType == "SQL2005" || dbobj.DbType == "SQL2000" || dbobj.DbType == "SQL2008" || dbobj.DbType == "SQL2012")
            {
                strclass.Append(" top 1 ");
            }
            strclass.AppendLine(" \");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" " + Fieldstrlist + " \");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" from " + _tablename + " \");");
            strclass.AppendSpaceLine(3, "strSql.Append(\" where " + Maticsoft.CodeHelper.CodeCommon.GetWhereExpression(Keys, true) + "\" );");
            strclass.AppendSpaceLine(3, ModelSpace + " model=new " + ModelSpace + "();");
            strclass.AppendSpaceLine(3, "DataSet ds=" + DbHelperName + ".Query(strSql.ToString());");
            strclass.AppendSpaceLine(3, "if(ds.Tables[0].Rows.Count>0)");
            strclass.AppendSpaceLine(3, "{");

            #region
            /*
            foreach (ColumnInfo field in Fieldlist)
            {
                string columnName = field.ColumnName;
                string columnType = field.TypeName;

                strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"]!=null && ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                strclass.AppendSpaceLine(4, "{");
                #region
                switch (CodeCommon.DbTypeToCS(columnType))
                {
                    case "int":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=int.Parse(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "long":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=long.Parse(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "decimal":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=decimal.Parse(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "float":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=float.Parse(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "DateTime":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=DateTime.Parse(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "string":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"]!=null)");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString();");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "bool":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "if((ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()==\"1\")||(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString().ToLower()==\"true\"))");
                            strclass.AppendSpaceLine(5, "{");
                            strclass.AppendSpaceLine(6, "model." + columnName + "=true;");
                            strclass.AppendSpaceLine(5, "}");
                            strclass.AppendSpaceLine(5, "else");
                            strclass.AppendSpaceLine(5, "{");
                            strclass.AppendSpaceLine(6, "model." + columnName + "=false;");
                            strclass.AppendSpaceLine(5, "}");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "byte[]":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=(byte[])ds.Tables[0].Rows[0][\"" + columnName + "\"];");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    case "uniqueidentifier":
                    case "Guid":
                        {
                            //strclass.AppendSpaceLine(4, "if(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString()!=\"\")");
                            //strclass.AppendSpaceLine(4, "{");
                            strclass.AppendSpaceLine(5, "model." + columnName + "=new Guid(ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString());");
                            //strclass.AppendSpaceLine(4, "}");
                        }
                        break;
                    default:
                        strclass.AppendSpaceLine(5, "//model." + columnName + "=ds.Tables[0].Rows[0][\"" + columnName + "\"].ToString();");
                        break;
                }
                #endregion
                strclass.AppendSpaceLine(4, "}");

            }
            */
            #endregion

            strclass.AppendSpaceLine(4, "return DataRowToModel(ds.Tables[0].Rows[0]);");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpaceLine(3, "else");
            strclass.AppendSpaceLine(3, "{");
            strclass.AppendSpaceLine(4, "return null;");
            strclass.AppendSpaceLine(3, "}");
            strclass.AppendSpace(2, "}");
            return strclass.ToString();
        }
コード例 #43
0
        private string BuilderModel()
        {
            StringPlus plus = new StringPlus();
            StringPlus plus2 = new StringPlus();
            StringPlus plus3 = new StringPlus();
            plus.AppendSpaceLine(2, "#region Model");
            foreach (ColumnInfo column in Columns)
            {
                plus2.AppendSpaceLine(2, "private " + column.TypeName + " _" + column.ColumnName + ";");
                plus3.AppendSpaceLine(2, "/// <summary>");
                plus3.AppendSpaceLine(2, "/// " + column.DeText);
                plus3.AppendSpaceLine(2, "/// </summary>");
                plus3.AppendSpaceLine(2, "public " + column.TypeName + " " + column.ColumnName);
                plus3.AppendSpaceLine(2, "{");
                plus3.AppendSpaceLine(3, "get{ return _" + column.ColumnName + "; }");
                plus3.AppendSpaceLine(3, "set");
                plus3.AppendSpaceLine(3, "{");
                plus3.AppendSpaceLine(4, "this.OnPropertyValueChange(_." + column.ColumnName + ",_" + column.ColumnName + ",value);");
                plus3.AppendSpaceLine(4, "this._" + column.ColumnName + "=value;");
                plus3.AppendSpaceLine(3, "}");
                plus3.AppendSpaceLine(2, "}");
            }
            plus.Append(plus2.Value);
            plus.Append(plus3.Value);
            plus.AppendSpaceLine(2, "#endregion");

            return plus.ToString();


        }
コード例 #44
0
ファイル: BuilderDAL.cs プロジェクト: yichao0803/Builder
        /// <summary>
        /// �õ�Add()�Ĵ���
        /// </summary>        
        public string CreatAdd()
        {
            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" || dbobj.DbType == "SQL2012") && (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" || dbobj.DbType == "SQL2012") && (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" || dbobj.DbType == "SQL2012") && (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" || dbobj.DbType == "SQL2012") && (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();
        }
コード例 #45
0
        private string BuilderModel()
        {
            StringPlus plus = new StringPlus();
            StringPlus plus2 = new StringPlus();
            StringPlus plus3 = new StringPlus();
            plus.AppendSpaceLine(2, "#region Model");
            foreach (ColumnInfo column in Columns)
            {
                if (!string.IsNullOrWhiteSpace(column.DefaultVal))
                {
                    var val = "";
                    if (column.TypeName.ToLower().Contains("bool"))
                    {
                        switch (val)
                        {
                            case "b'0'":
                                val = "0";
                                break;
                            case "b'1'":
                                val = "1";
                                break;
                        }
                        val = DataUtils.ConvertValue<bool>(column.DefaultVal) ? "true" : "false";
                    }
                    else if (column.TypeName.ToLower().Contains("string"))
                    {
                        val = "\"" + column.DefaultVal + "\"";
                    }
                    else if (column.TypeName.ToLower().Contains("guid"))
                    {
                        Guid tempGuid;
                        if (Guid.TryParse(column.DefaultVal, out tempGuid))
                        {
                            val = "Guid.Parse(\"" + column.DefaultVal + "\")";
                        }
                        else
                        {
                            val = "Guid.NewGuid()";
                        }
                    }
                    else if (column.TypeName.ToLower().Contains("int"))
                    {
                        val = column.DefaultVal;
                    }
                    else if (column.TypeName.ToLower().Contains("decimal"))
                    {
                        val = column.DefaultVal + "M";
                    }
                    else if (column.TypeName.ToLower().Contains("float"))
                    {
                        val = column.DefaultVal + "F";
                    }
                    if (string.IsNullOrWhiteSpace(val))
                    {
                        plus2.AppendSpaceLine(2, "private " + column.TypeName + " _" + column.ColumnName + ";");
                    }
                    else
                    {
                        plus2.AppendSpaceLine(2, "private " + column.TypeName + " _" + column.ColumnName + " = " + val + ";");
                    }
                }
                else
                {
                    plus2.AppendSpaceLine(2, "private " + column.TypeName + " _" + column.ColumnName + ";");
                }
                plus3.AppendSpaceLine(2, "/// <summary>");
                plus3.AppendSpaceLine(2, "/// " + column.DeText);
                plus3.AppendSpaceLine(2, "/// </summary>");
                plus3.AppendSpaceLine(2, "public " + column.TypeName + " " + column.ColumnName);
                plus3.AppendSpaceLine(2, "{");
                plus3.AppendSpaceLine(3, "get{ return _" + column.ColumnName + "; }");
                plus3.AppendSpaceLine(3, "set");
                plus3.AppendSpaceLine(3, "{");
                plus3.AppendSpaceLine(4, "this.OnPropertyValueChange(_." + column.ColumnName + ",_" + column.ColumnName + ",value);");
                plus3.AppendSpaceLine(4, "this._" + column.ColumnName + "=value;");
                plus3.AppendSpaceLine(3, "}");
                plus3.AppendSpaceLine(2, "}");
            }
            plus.Append(plus2.Value);
            plus.Append(plus3.Value);
            plus.AppendSpaceLine(2, "#endregion");

            return plus.ToString();


        }
コード例 #46
0
        private string BuilderMethod()
        {
            StringPlus plus = new StringPlus();


            plus.AppendSpaceLine(2, "#region Method");


            //只读
            if (IsView)
            {
                plus.AppendSpaceLine(2, "/// <summary>");
                plus.AppendSpaceLine(2, "/// 是否只读");
                plus.AppendSpaceLine(2, "/// </summary>");
                plus.AppendSpaceLine(2, "public override bool IsReadOnly()");
                plus.AppendSpaceLine(2, "{");
                plus.AppendSpaceLine(3, "return true;");
                plus.AppendSpaceLine(2, "}");
            }

            Model.ColumnInfo identityColumn = Columns.Find(delegate(Model.ColumnInfo col) { return col.IsIdentity; });
            if (null != identityColumn)
            {
                plus.AppendSpaceLine(2, "/// <summary>");
                plus.AppendSpaceLine(2, "/// 获取实体中的标识列");
                plus.AppendSpaceLine(2, "/// </summary>");
                plus.AppendSpaceLine(2, "public override Field GetIdentityField()");
                plus.AppendSpaceLine(2, "{");
                plus.AppendSpaceLine(3, "return _." + identityColumn.ColumnName + ";");
                plus.AppendSpaceLine(2, "}");
            }

            List<Model.ColumnInfo> primarykeyColumns = Columns.FindAll(delegate(Model.ColumnInfo col) { return col.IsPK; });
            if (null != primarykeyColumns && primarykeyColumns.Count > 0)
            {
                plus.AppendSpaceLine(2, "/// <summary>");
                plus.AppendSpaceLine(2, "/// 获取实体中的主键列");
                plus.AppendSpaceLine(2, "/// </summary>");
                plus.AppendSpaceLine(2, "public override Field[] GetPrimaryKeyFields()");
                plus.AppendSpaceLine(2, "{");
                plus.AppendSpaceLine(3, "return new Field[] {");
                StringPlus plus2 = new StringPlus();
                foreach (Model.ColumnInfo col in primarykeyColumns)
                {
                    plus2.AppendSpaceLine(4, "_." + col.ColumnName + ",");
                }
                plus.Append(plus2.ToString().TrimEnd().Substring(0, plus2.ToString().TrimEnd().Length - 1));
                plus.AppendLine("};");
                plus.AppendSpaceLine(2, "}");
            }



            plus.AppendSpaceLine(2, "/// <summary>");
            plus.AppendSpaceLine(2, "/// 获取列信息");
            plus.AppendSpaceLine(2, "/// </summary>");
            plus.AppendSpaceLine(2, "public override Field[] GetFields()");
            plus.AppendSpaceLine(2, "{");
            plus.AppendSpaceLine(3, "return new Field[] {");
            StringPlus plus3 = new StringPlus();
            foreach (ColumnInfo col in Columns)
            {
                plus3.AppendSpaceLine(4, "_." + col.ColumnName + ",");
            }
            plus.Append(plus3.ToString().TrimEnd().Substring(0, plus3.ToString().TrimEnd().Length - 1));
            plus.AppendLine("};");
            plus.AppendSpaceLine(2, "}");


            plus.AppendSpaceLine(2, "/// <summary>");
            plus.AppendSpaceLine(2, "/// 获取值信息");
            plus.AppendSpaceLine(2, "/// </summary>");
            plus.AppendSpaceLine(2, "public override object[] GetValues()");
            plus.AppendSpaceLine(2, "{");
            plus.AppendSpaceLine(3, "return new object[] {");
            StringPlus plus4 = new StringPlus();
            foreach (ColumnInfo col in Columns)
            {
                plus4.AppendSpaceLine(4, "this._" + col.ColumnName + ",");
            }
            plus.Append(plus4.ToString().TrimEnd().Substring(0, plus4.ToString().TrimEnd().Length - 1));
            plus.AppendLine("};");
            plus.AppendSpaceLine(2, "}");

            //2015-08-10注释
            //plus.AppendSpaceLine(2, "/// <summary>");
            //plus.AppendSpaceLine(2, "/// 给当前实体赋值");
            //plus.AppendSpaceLine(2, "/// </summary>");
            //plus.AppendSpaceLine(2, "public override void SetPropertyValues(IDataReader reader)");
            //plus.AppendSpaceLine(2, "{");
            //foreach (ColumnInfo col in Columns)
            //{
            //    plus.AppendSpaceLine(3, "this._" + col.ColumnName + " = DataUtils.ConvertValue<" + col.TypeName + ">(reader[\"" + col.ColumnNameRealName + "\"]);");
            //}
            //plus.AppendSpaceLine(2, "}");


            //2015-08-10注释
            //plus.AppendSpaceLine(2, "/// <summary>");
            //plus.AppendSpaceLine(2, "/// 给当前实体赋值");
            //plus.AppendSpaceLine(2, "/// </summary>");
            //plus.AppendSpaceLine(2, "public override void SetPropertyValues(DataRow row)");
            //plus.AppendSpaceLine(2, "{");
            //foreach (ColumnInfo col in Columns)
            //{
            //    plus.AppendSpaceLine(3, "this._" + col.ColumnName + " = DataUtils.ConvertValue<" + col.TypeName + ">(row[\"" + col.ColumnNameRealName + "\"]);");
            //}
            //plus.AppendSpaceLine(2, "}");


            plus.AppendSpaceLine(2, "#endregion");
            plus.AppendLine();



            plus.AppendSpaceLine(2, "#region _Field");
            plus.AppendSpaceLine(2, "/// <summary>");
            plus.AppendSpaceLine(2, "/// 字段信息");
            plus.AppendSpaceLine(2, "/// </summary>");
            plus.AppendSpaceLine(2, "public class _");
            plus.AppendSpaceLine(2, "{");
            plus.AppendSpaceLine(3, "/// <summary>");
            plus.AppendSpaceLine(3, "/// * ");
            plus.AppendSpaceLine(3, "/// </summary>");
            plus.AppendSpaceLine(3, "public readonly static Field All = new Field(\"*\",\"" + TableName + "\");");
            foreach (ColumnInfo col in Columns)
            {
                plus.AppendSpaceLine(3, "/// <summary>");
                plus.AppendSpaceLine(3, "/// " + col.DeText);
                plus.AppendSpaceLine(3, "/// </summary>");
                plus.AppendSpaceLine(3, "public readonly static Field " + col.ColumnName + " = new Field(\"" + col.ColumnNameRealName + "\",\"" + TableName + "\",\"" + (string.IsNullOrEmpty(col.DeText) ? col.ColumnNameRealName : col.DeText) + "\");");
            }
            plus.AppendSpaceLine(2, "}");
            plus.AppendSpaceLine(2, "#endregion");
            plus.AppendLine();

            return plus.ToString();


        }
コード例 #47
0
ファイル: BuilderIDAL.cs プロジェクト: yichao0803/Builder
        public string GetIDALCode(bool Maxid, bool Exists, bool Add, bool Update, bool Delete, bool GetModel, bool List)
        {
            StringPlus strclass = new StringPlus();
            strclass.AppendLine("using System;");
            strclass.AppendLine("using System.Data;");
            strclass.AppendLine("using System.Collections.Generic;");
            strclass.AppendLine("namespace " + IDALpath);
            strclass.AppendLine("{");
            strclass.AppendSpaceLine(1, "/// <summary>");
            strclass.AppendSpaceLine(1, "/// 接口层" + TableDescription);
            strclass.AppendSpaceLine(1, "/// </summary>");
            strclass.AppendSpaceLine(1, "public partial interface " + IClass);
            strclass.AppendSpaceLine(1, "{");
            strclass.AppendLine();
            strclass.AppendSpaceLine(2, "#region  成员方法");

            if (Maxid)
            {
                strclass.Append(CreatGetMaxID());
            }
            if (Exists)
            {
                strclass.Append(CreatExists());
            }
            if (Add)
            {
                strclass.Append(CreatAdd());
            }
            if (Update)
            {
                strclass.Append(CreatUpdate());
            }
            if (Delete)
            {
                strclass.Append(CreatDelete());
            }
            if (GetModel)
            {
                strclass.Append(CreatGetModel());
            }
            if (List)
            {
                strclass.Append(CreatGetList());
            }
            strclass.AppendSpaceLine(2, "#endregion  成员方法");
            strclass.AppendLine();
            //strclass.AppendSpaceLine(2, "#region  MethodEx");
            //strclass.AppendLine("");
            //strclass.AppendSpaceLine(2, "#endregion  MethodEx");
            strclass.AppendLine("	} ");
            strclass.AppendLine("}");
            return strclass.ToString();
        }