asp.net(C#)后台管理员代码 要求是:禁止删除超级管理员(admin)账号
以下是新闻管理页面的新闻删除的代码,把它放到用户页面里也可以删除,我的要求是用户名为admin的管理员帐号不能被删除,,纯属无聊贴的一个题目,,没分的呵呵stringne...
以下是新闻管理页面的新闻删除的代码,把它放到用户页面里也可以删除,我的要求是用户名为admin的管理员帐号不能被删除,,纯属无聊贴的一个题目,,没分的呵呵
string newsid = GridView1.DataKeys[e.RowIndex].Values[0].ToString();//获取当前鼠标点击删除链接时所在行的新闻编号
string sql = string.Format("delete from news where newsid={0}", newsid);//实现删除的sql语句
int count = DBHelper.ExecNonQuerry(sql);//返回受影响的行数,如果行数大于0,说明删除成功,否则,说明删除失败
if (count > 0)
{
MsgBoxHelper.ShowMsgBox("删除成功!",this);
BindNewsList();//重新绑定Gridview
}
else
{
MsgBoxHelper.ShowMsgBox("删除失败!", this);
} 展开
string newsid = GridView1.DataKeys[e.RowIndex].Values[0].ToString();//获取当前鼠标点击删除链接时所在行的新闻编号
string sql = string.Format("delete from news where newsid={0}", newsid);//实现删除的sql语句
int count = DBHelper.ExecNonQuerry(sql);//返回受影响的行数,如果行数大于0,说明删除成功,否则,说明删除失败
if (count > 0)
{
MsgBoxHelper.ShowMsgBox("删除成功!",this);
BindNewsList();//重新绑定Gridview
}
else
{
MsgBoxHelper.ShowMsgBox("删除失败!", this);
} 展开
3个回答
展开全部
你的意思应是管理员建的新闻不能被删除?
delete from news where newsid={0}
从这句来看,看不出,news新闻表里面的新闻条目,有没有创建人这个字段,如果有的话,就可以实现
delete from news where newsid={0} and 创建人<>'admin'
如果没有创建人,那就没法实现了
delete from news where newsid={0}
从这句来看,看不出,news新闻表里面的新闻条目,有没有创建人这个字段,如果有的话,就可以实现
delete from news where newsid={0} and 创建人<>'admin'
如果没有创建人,那就没法实现了
追问
不是,我的要求是,在用户管理页面里,超级管理员(admin)帐号不能被删,其他的帐号可以删除。我上面给的代码是删除新闻记录的代码,复制到用户管理的页面改改字段,就能实现删除所有帐号,我想要的是admin的帐号不能删,
追答
那不更简单, 在删除语句里面加语句
and userid'admin',这样谁也删不了admin了,包括admin自己
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.数据库端,加触发器,检测到删除对象是管理员时不执行.
2.客户端,在调用数据库方法前做判定,如果是管理员直接return,
3.在查询用户列表的sql语句中,直接屏蔽管理员,不在结果列表中显示,不给其他用户操作管理员的机会.
2.客户端,在调用数据库方法前做判定,如果是管理员直接return,
3.在查询用户列表的sql语句中,直接屏蔽管理员,不在结果列表中显示,不给其他用户操作管理员的机会.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么啊,你可以判断当前要删除的ID 的权限,返回数据库查询看是否为超级管理员 若为超级管理员,则return
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |