您的位置:首页 > 其它

程序人生系列之新闻发布系统 10-11

2011-06-19 22:15 351 查看
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;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: