• 程序人生系列之新闻发布系统 1011


    1.面向对象的思想

    添加一个Model层,其中包含各种实体类,例如Category类(有私有字段,属性,还有构造方法)

    /*
     *  作者:胡家威
     *  创建时间:2010/10/26 23:02:59
     *  类说明:新闻类别类
     */
    using System;
    using System.Collections.Generic;
    using System.Text;
    
    namespace Model
    {
        /// <summary>
        /// 新闻类别类
        /// </summary>
        public class Category
        {
            private string id;
            private string name;
            /// <summary>
            /// Category的构造方法
            /// </summary>
            /// <param name="id">类别编号</param>
            /// <param name="name">类别名称</param>
            public Category(string id, string name)
            {
                this.id = id;
                this.name = name;
            }
    
            public string Id
            {
                get { return id; }
                set { id = value; }
            }
    
            public string Name
            {
                get { return name; }
                set { name = value; }
            }
    
        }
    }

    2.触发器

    利用触发器 实现 删除的功能,删除新闻时还要删除新闻评论,删除新闻类别时还要删除新闻和新闻评论!

    --删除类别触发器
    
    ALTER TRIGGER trigCategoryDelete
    
    ON dbo.category
    
    instead of DELETE    
    
    AS
    
    BEGIN
    
      declare @caId int
    
      select @caId = id from deleted
    
      --删除评论
    
      delete remark where nid in (select nid from news where cid = @caId)
    
      --删除新闻
    
      delete news where cid=@caId
    
      --删除类别
    
      delete category where id=@caId
    
    END
    

    触发器不是显示调用的,它是在执行相应的操作时(Insert,Update,Delete)触发的,给某个表添加了触发器后,在该表被执行以上操作时会同时触发执行触发器中的代码!

      删除类别的代码:

            /// <summary>
            /// 删除类别
            /// </summary>
            /// <param name="caName">类别名</param>
            /// <returns>是否删除成功</returns>
            public bool Delete(string caName)
            {
                bool flag = false;
                string sql = "delete from category where id = @caName";
                SqlParameter[] paras = new SqlParameter[]{
                    new SqlParameter("@caName",caName)
                };
                int res = sqlhelper.ExecuteNonQuery(sql, paras, CommandType.Text);
                if (res > 0)
                {
                    flag = true;
                }
                return flag;
            }
    

      

  • 相关阅读:
    2013第51周四开放杂记
    2013第51周三杂记
    2013第51周二eclipse启动优化
    2013 第51周一纠错
    2013第50周日小结
    国内主流开放平台接口了解
    手机加密那点事儿_数值内存加密
    crontab,想说爱你不easy
    SIP基本呼叫
    js正則表達式语法
  • 原文地址:https://www.cnblogs.com/yinger/p/2084823.html
Copyright © 2020-2023  润新知