示例#1
0
        /// <summary>
        /// 新增扩展字段及创建频道数据表
        /// </summary>
        private void FieldAdd(MySqlConnection conn, MySqlTransaction trans, Model.site_channel model)
        {
            string fieldIds = string.Empty;//存储已加截的扩展字段ID集合

            //新增扩展字段表及存储字段的ID
            if (model.channel_fields != null)
            {
                StringBuilder strSql1;
                foreach (Model.site_channel_field modelt in model.channel_fields)
                {
                    fieldIds += modelt.field_id + ",";
                    strSql1   = new StringBuilder();
                    strSql1.Append("insert into " + databaseprefix + "site_channel_field(");
                    strSql1.Append("channel_id,field_id)");
                    strSql1.Append(" values (");
                    strSql1.Append("@channel_id,@field_id)");
                    MySqlParameter[] parameters1 =
                    {
                        new MySqlParameter("@channel_id", MySqlDbType.Int32, 4),
                        new MySqlParameter("@field_id",   MySqlDbType.Int32, 4)
                    };
                    parameters1[0].Value = model.id;
                    parameters1[1].Value = modelt.field_id;
                    DbHelperMySql.ExecuteSql(conn, trans, strSql1.ToString(), parameters1);
                }
            }
            //创建频道数据表
            StringBuilder strSql2 = new StringBuilder();//存储创建频道表SQL语句

            strSql2.Append("CREATE TABLE " + databaseprefix + DTKeys.TABLE_CHANNEL_ARTICLE + model.name + "(\r\n");
            strSql2.Append("[id] int IDENTITY(1,1) PRIMARY KEY,\r\n");
            strSql2.Append("[site_id] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[channel_id] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[category_id] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[call_index] nvarchar(50),\r\n");
            strSql2.Append("[title] nvarchar(100),\r\n");
            strSql2.Append("[link_url] nvarchar(255),\r\n");
            strSql2.Append("[img_url] nvarchar(255),\r\n");
            strSql2.Append("[seo_title] nvarchar(255),\r\n");
            strSql2.Append("[seo_keywords] nvarchar(255),\r\n");
            strSql2.Append("[seo_description] nvarchar(255),\r\n");
            strSql2.Append("[tags] nvarchar(500),\r\n");
            strSql2.Append("[zhaiyao] nvarchar(255),\r\n");
            strSql2.Append("[content] ntext,\r\n");
            strSql2.Append("[sort_id] int NOT NULL DEFAULT ((99)),\r\n");
            strSql2.Append("[click] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[status] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_msg] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_top] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_red] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_hot] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_slide] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[is_sys] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[user_name] nvarchar(100),\r\n");
            strSql2.Append("[like_count] int NOT NULL DEFAULT ((0)),\r\n");
            strSql2.Append("[add_time] datetime NOT NULL DEFAULT (getdate()),\r\n");
            strSql2.Append("[update_time] datetime,\r\n");
            if (fieldIds.Length > 0)
            {
                //查询扩展字段表
                DataTable dt = new DAL.MySql.article_attribute_field(databaseprefix).GetList(0, "id in(" + fieldIds.Trim(',') + ")", "sort_id asc,id desc").Tables[0];
                //判断及组合创表SQL语句
                foreach (DataRow dr in dt.Rows)
                {
                    strSql2.Append("[" + dr["name"].ToString() + "] " + dr["data_type"].ToString() + ",\r\n");
                }
            }
            //执行SQL创表语句
            DbHelperMySql.ExecuteSql(conn, trans, strSql2.ToString().TrimEnd(',') + ")");
        }
 public article_attribute_field()
 {
     dal = new DAL.MySql.article_attribute_field(sysConfig.sysdatabaseprefix);
 }