예제 #1
0
        /// <summary>
        /// 增加一条数据,及其子表数据
        /// </summary>
        public int Add(DTcms.Model.download model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into dt_download(");
            strSql.Append("channel_id,title,category_id,link_url,img_url,seo_title,seo_keywords,seo_description,content,sort_id,click,is_msg,is_red,is_lock,add_time,digg_good,digg_act)");
            strSql.Append(" values (");
            strSql.Append("@channel_id,@title,@category_id,@link_url,@img_url,@seo_title,@seo_keywords,@seo_description,@content,@sort_id,@click,@is_msg,@is_red,@is_lock,@add_time,@digg_good,@digg_act)");
            strSql.Append(";set @ReturnValue= @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@channel_id",      SqlDbType.Int,         4),
                new SqlParameter("@title",           SqlDbType.NVarChar,  100),
                new SqlParameter("@category_id",     SqlDbType.Int,         4),
                new SqlParameter("@link_url",        SqlDbType.NVarChar,  255),
                new SqlParameter("@img_url",         SqlDbType.NVarChar,  255),
                new SqlParameter("@seo_title",       SqlDbType.NVarChar,  255),
                new SqlParameter("@seo_keywords",    SqlDbType.NVarChar,  255),
                new SqlParameter("@seo_description", SqlDbType.NVarChar,  255),
                new SqlParameter("@content",         SqlDbType.NText),
                new SqlParameter("@sort_id",         SqlDbType.Int,         4),
                new SqlParameter("@click",           SqlDbType.Int,         4),
                new SqlParameter("@is_msg",          SqlDbType.TinyInt,     1),
                new SqlParameter("@is_red",          SqlDbType.TinyInt,     1),
                new SqlParameter("@is_lock",         SqlDbType.TinyInt,     1),
                new SqlParameter("@add_time",        SqlDbType.DateTime),
                new SqlParameter("@digg_good",       SqlDbType.Int,         4),
                new SqlParameter("@digg_act",        SqlDbType.Int,         4),
                new SqlParameter("@ReturnValue",     SqlDbType.Int)
            };
            parameters[0].Value      = model.channel_id;
            parameters[1].Value      = model.title;
            parameters[2].Value      = model.category_id;
            parameters[3].Value      = model.link_url;
            parameters[4].Value      = model.img_url;
            parameters[5].Value      = model.seo_title;
            parameters[6].Value      = model.seo_keywords;
            parameters[7].Value      = model.seo_description;
            parameters[8].Value      = model.content;
            parameters[9].Value      = model.sort_id;
            parameters[10].Value     = model.click;
            parameters[11].Value     = model.is_msg;
            parameters[12].Value     = model.is_red;
            parameters[13].Value     = model.is_lock;
            parameters[14].Value     = model.add_time;
            parameters[15].Value     = model.digg_good;
            parameters[16].Value     = model.digg_act;
            parameters[17].Direction = ParameterDirection.Output;

            List <CommandInfo> sqllist = new List <CommandInfo>();
            CommandInfo        cmd     = new CommandInfo(strSql.ToString(), parameters);

            sqllist.Add(cmd);

            if (model.download_attachs != null)
            {
                StringBuilder strSql2;
                foreach (DTcms.Model.download_attach models in model.download_attachs)
                {
                    strSql2 = new StringBuilder();
                    strSql2.Append("insert into dt_download_attach(");
                    strSql2.Append("down_id,title,file_path,file_ext,file_size,down_num)");
                    strSql2.Append(" values (");
                    strSql2.Append("@down_id,@title,@file_path,@file_ext,@file_size,@down_num)");
                    SqlParameter[] parameters2 =
                    {
                        new SqlParameter("@down_id",   SqlDbType.Int,        4),
                        new SqlParameter("@title",     SqlDbType.NVarChar, 255),
                        new SqlParameter("@file_path", SqlDbType.NVarChar, 255),
                        new SqlParameter("@file_ext",  SqlDbType.NVarChar, 100),
                        new SqlParameter("@file_size", SqlDbType.Int,        4),
                        new SqlParameter("@down_num",  SqlDbType.Int, 4)
                    };
                    parameters2[0].Direction = ParameterDirection.InputOutput;
                    parameters2[1].Value     = models.title;
                    parameters2[2].Value     = models.file_path;
                    parameters2[3].Value     = models.file_ext;
                    parameters2[4].Value     = models.file_size;
                    parameters2[5].Value     = models.down_num;

                    cmd = new CommandInfo(strSql2.ToString(), parameters2);
                    sqllist.Add(cmd);
                }
            }
            DbHelperSQL.ExecuteSqlTranWithIndentity(sqllist);
            return((int)parameters[17].Value);
        }
예제 #2
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public bool Update(DTcms.Model.download model)
        {
            using (SqlConnection conn = new SqlConnection(DbHelperSQL.connectionString))
            {
                conn.Open();
                using (SqlTransaction trans = conn.BeginTransaction())
                {
                    try
                    {
                        StringBuilder strSql = new StringBuilder();
                        strSql.Append("update dt_download set ");
                        strSql.Append("channel_id=@channel_id,");
                        strSql.Append("title=@title,");
                        strSql.Append("category_id=@category_id,");
                        strSql.Append("link_url=@link_url,");
                        strSql.Append("img_url=@img_url,");
                        strSql.Append("seo_title=@seo_title,");
                        strSql.Append("seo_keywords=@seo_keywords,");
                        strSql.Append("seo_description=@seo_description,");
                        strSql.Append("content=@content,");
                        strSql.Append("sort_id=@sort_id,");
                        strSql.Append("click=@click,");
                        strSql.Append("is_msg=@is_msg,");
                        strSql.Append("is_red=@is_red,");
                        strSql.Append("is_lock=@is_lock,");
                        strSql.Append("add_time=@add_time,");
                        strSql.Append("digg_good=@digg_good,");
                        strSql.Append("digg_act=@digg_act");
                        strSql.Append(" where id=@id");
                        SqlParameter[] parameters =
                        {
                            new SqlParameter("@channel_id",      SqlDbType.Int,         4),
                            new SqlParameter("@title",           SqlDbType.NVarChar,  100),
                            new SqlParameter("@category_id",     SqlDbType.Int,         4),
                            new SqlParameter("@link_url",        SqlDbType.NVarChar,  255),
                            new SqlParameter("@img_url",         SqlDbType.NVarChar,  255),
                            new SqlParameter("@seo_title",       SqlDbType.NVarChar,  255),
                            new SqlParameter("@seo_keywords",    SqlDbType.NVarChar,  255),
                            new SqlParameter("@seo_description", SqlDbType.NVarChar,  255),
                            new SqlParameter("@content",         SqlDbType.NText),
                            new SqlParameter("@sort_id",         SqlDbType.Int,         4),
                            new SqlParameter("@click",           SqlDbType.Int,         4),
                            new SqlParameter("@is_msg",          SqlDbType.TinyInt,     1),
                            new SqlParameter("@is_red",          SqlDbType.TinyInt,     1),
                            new SqlParameter("@is_lock",         SqlDbType.TinyInt,     1),
                            new SqlParameter("@add_time",        SqlDbType.DateTime),
                            new SqlParameter("@digg_good",       SqlDbType.Int,         4),
                            new SqlParameter("@digg_act",        SqlDbType.Int,         4),
                            new SqlParameter("@id",              SqlDbType.Int, 4)
                        };
                        parameters[0].Value  = model.channel_id;
                        parameters[1].Value  = model.title;
                        parameters[2].Value  = model.category_id;
                        parameters[3].Value  = model.link_url;
                        parameters[4].Value  = model.img_url;
                        parameters[5].Value  = model.seo_title;
                        parameters[6].Value  = model.seo_keywords;
                        parameters[7].Value  = model.seo_description;
                        parameters[8].Value  = model.content;
                        parameters[9].Value  = model.sort_id;
                        parameters[10].Value = model.click;
                        parameters[11].Value = model.is_msg;
                        parameters[12].Value = model.is_red;
                        parameters[13].Value = model.is_lock;
                        parameters[14].Value = model.add_time;
                        parameters[15].Value = model.digg_good;
                        parameters[16].Value = model.digg_act;
                        parameters[17].Value = model.id;
                        DbHelperSQL.ExecuteSql(conn, trans, strSql.ToString(), parameters);

                        //删除已删除的附件
                        DeleteAttachList(conn, trans, model.download_attachs, model.id);

                        #region 添加/修改附件
                        if (model.download_attachs != null)
                        {
                            StringBuilder strSql2;
                            foreach (Model.download_attach models in model.download_attachs)
                            {
                                strSql2 = new StringBuilder();
                                if (models.id > 0)
                                {
                                    strSql2.Append("update dt_download_attach set ");
                                    strSql2.Append("down_id=@down_id,");
                                    strSql2.Append("title=@title,");
                                    strSql2.Append("file_path=@file_path,");
                                    strSql2.Append("file_ext=@file_ext,");
                                    strSql2.Append("file_size=@file_size,");
                                    strSql2.Append("down_num=@down_num");
                                    strSql2.Append(" where id=@id");
                                    SqlParameter[] parameters2 =
                                    {
                                        new SqlParameter("@down_id",   SqlDbType.Int,        4),
                                        new SqlParameter("@title",     SqlDbType.NVarChar, 255),
                                        new SqlParameter("@file_path", SqlDbType.NVarChar, 255),
                                        new SqlParameter("@file_ext",  SqlDbType.NVarChar, 100),
                                        new SqlParameter("@file_size", SqlDbType.Int,        4),
                                        new SqlParameter("@down_num",  SqlDbType.Int,        4),
                                        new SqlParameter("@id",        SqlDbType.Int, 4)
                                    };
                                    parameters2[0].Value = models.down_id;
                                    parameters2[1].Value = models.title;
                                    parameters2[2].Value = models.file_path;
                                    parameters2[3].Value = models.file_ext;
                                    parameters2[4].Value = models.file_size;
                                    parameters2[5].Value = models.down_num;
                                    parameters2[6].Value = models.id;
                                    DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                                }
                                else
                                {
                                    strSql2.Append("insert into dt_download_attach(");
                                    strSql2.Append("down_id,title,file_path,file_ext,file_size)");
                                    strSql2.Append(" values (");
                                    strSql2.Append("@down_id,@title,@file_path,@file_ext,@file_size)");
                                    SqlParameter[] parameters2 =
                                    {
                                        new SqlParameter("@down_id",   SqlDbType.Int,        4),
                                        new SqlParameter("@title",     SqlDbType.NVarChar, 255),
                                        new SqlParameter("@file_path", SqlDbType.NVarChar, 255),
                                        new SqlParameter("@file_ext",  SqlDbType.NVarChar, 100),
                                        new SqlParameter("@file_size", SqlDbType.Int, 4)
                                    };
                                    parameters2[0].Value = models.down_id;
                                    parameters2[1].Value = models.title;
                                    parameters2[2].Value = models.file_path;
                                    parameters2[3].Value = models.file_ext;
                                    parameters2[4].Value = models.file_size;
                                    DbHelperSQL.ExecuteSql(conn, trans, strSql2.ToString(), parameters2);
                                }
                            }
                        }
                        #endregion

                        trans.Commit();
                    }
                    catch
                    {
                        trans.Rollback();
                        return(false);
                    }
                }
            }
            return(true);
        }