个人资料

主页 博客 留言板 搜索
跳过导航链接首页 > 博客列表 > 博客正文

使用函数递归数据库联系数据

分类

    删除一个评论,则回复此评论的所有评论同时删除。可以使用数据库自定义级联删除方式,但数据库要检查数据关联的完备性,为避免麻烦,直接使用函数递归逐步删除数据库内容。达到和级联删除同样的效果

        [WebMethod(EnableSession = true)]
        public static ResponseResult Delete_Commemt(int commentID)
        {
            ResponseResult result = new ResponseResult();
            string username = (string)HttpContext.Current.Session["username"];

            if (username == ""| username == null)
            {
                result.IsSuccess = false;
                result.MsgAlert = "无权这么做";
                return result;
            }
            else
            {
                string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\storage\\users.accdb";
                using (OleDbConnection con = new OleDbConnection(conStr))
                {
                    //查找根据文章id和username查找
                    string cmdStr = "DELETE FROM comment where [ID]=" + commentID + " and [userName]='" + username + "'";
                    if (username == "songshizhao" | username == "Admin" | username == "Administrator")//如果是管理员删除评论
                    {
                        cmdStr = "DELETE FROM comment where [ID]=" + commentID + "";
                    }
                    con.Open();
                    using (var cmd = new OleDbCommand(cmdStr, con))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    con.Close();
                    //找到所有 评论此id 的id

                    result.IsSuccess = true;
                    result.MsgAlert = "删除回复成功";
                    deleteRelitiveComments(commentID);
                }
                
            }
            return result;

        }


songshizhao
最初发表2018/11/27 19:34:50 最近更新2018/11/27 19:34:50 29
为此篇作品打分
10