asp.net 怎么知道执行了添加删除修改操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 怎么知道执行了添加删除修改操作相关的知识,希望对你有一定的参考价值。
也就是可以时时监控用户的增删改操作,这样以来,遍可以想JAVA一样记录日志,并且做相关的全局权限,多好的想法啊,求个思路,如何才能知道执行了增删改查操作呢。
我只要是想控制其权限,比如该用户不是管理员,那么他就不能执行增删改动作,我就手动抛出一个异常,告知其没有权限。
如果一个一个类的去添加,固然可以,但是类太多,岂不是要添加死~ ,所以想有什么办法可以全局监控谁谁谁执行了增删改动作。
记录操作日志的方法有很多,你可以放在数据库里;也可以生成文件,放在特定目录下。以上的实现方法提供大概思路给你:1.写一个公共方法,只要执行了增删改查等操作,就运行该公共方法,可以将执行的sql语句,执行时间,执行人等添加到数据库里。2.写一个服务,实时监控这些操作,每日新建一个文本文档或其它,只要执行了操作,将执行的相关信息,sql语句之类(个人认为,如果是作为开发人员内部日志,记录sql语句会方便很多。如果是给外部人员看,可能就不能用sql了)填写到文件中。
其实两种方法,本质是一样的。 参考技术A 在你的增删改查操作代码前后加上日志代码。
若是不能改源码,那就用面向切面编程,给你的程序中加拦截器 参考技术B 这种一般可以通过数据库的触发器来做,如果是重要的操作的话,需要自己来建立日志表,自己来记录日志
请高手帮忙---asp.net 如何添加,修改,删除记录
我使用的是 c# +sql server
1.数据库名 database1 ,表名 table1
字段 id varchar
name varchar
password varchar
请高手帮忙用:c#+sql 写段代码
实现对数据库表的增删改工作,如正确,可多加分
非常感谢zcy_bzp这位高手 ,我在您写的代码上稍作改动了一下,您写的
DB类中好象都是静态方法,直接调用就行,不需要建立对象.
分数可以给您,还可以再加分给您,只是还有问题想请教下您,
由于我是初学ASP.NET ,有碰到这样一个问题:
.我在VS.NET里编了个程序,调试运行成功后,生成网站
2.将程序发到了e:\web 下
3.将IIS配置的虚拟目录也配置成e:\web
4.打开dreamweaver,设置站点,运行主文件后出错
出错代码为:
无法显示 XML 网页
无法使用 XSL 样式表检视 XML 输入。请更正错误,然后按 重新整理按钮,或者稍后再试一次。
名称的开头使用无效的字元。处理资源 'http://localhost/Default.aspx' 发生错误。第 1 行, 位置 2
<%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_v11jvl68.dll" %>
-^
如果您能回答的上来,我再加20分,或更多都可以
你问的是SQL语句,还是在asp.net的句子?
---------------------------------------------
更新的:private void Dgd_course_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
string strUpdate="update course set ";//需要更新的字段
strUpdate+="Course_name='"+((TextBox)e.Item .Cells [1].Controls [0]).Text+"'";
strUpdate+=",Course_period="+((TextBox)e.Item .Cells [2].Controls [0]).Text;
strUpdate+=",Course_credit="+((TextBox)e.Item .Cells [3].Controls [0]).Text;
strUpdate+=",Course_kind='"+((DropDownList)e.Item .Cells [4].FindControl ("DropDownList1")).SelectedItem .Value +"'";
strUpdate+=",Course_describe='"+(((TextBox)e.Item .Cells [5].Controls [0]).Text).ToString ()+"'";
strUpdate+=" where Course_id like '"+Dgd_course.DataKeys[e.Item .ItemIndex ].ToString ()+"'";
SqlCommand cm=new SqlCommand(strUpdate,cn);
SqlDataAdapter da=new SqlDataAdapter (strUpdate,cn);
cm.CommandText =strUpdate;
cm.Connection .Open ();
try
cm.ExecuteNonQuery ();
Response.Write ("<script language='javascript'> alert('更新记录成功!')</script>");
Dgd_course.EditItemIndex =-1;
catch
Response.Write ("<script language='javascript'> alert('更新记录失败!')</script>");
cm.Connection .Close ();
if(flag==false)
BindGrid();
else
BindGrid_search();
---------------------------------------
删除的:
private void Dgd_course_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
string strsql="delete from course where Course_id like '"+Dgd_course.DataKeys[e.Item .ItemIndex ].ToString ()+"'";
SqlCommand cm=new SqlCommand (strsql,cn);
cm.Connection .Open ();
try
cm.ExecuteNonQuery ();
Lbl_note.Text ="删除成功!";
Dgd_course.EditItemIndex =-1;
catch
Lbl_note.Style ["color"]="red";
Lbl_note.Text ="删除失败!";
Lbl_note.Style ["color"]="green";
cm.Connection .Close ();
if(flag==false)
BindGrid();
else
BindGrid_search();
-------------------------------------
添加的:
private void Button1_Click(object sender, System.EventArgs e)
if((Tbx_id.Text !="")&(Tbx_name.Text!=""))
string strCommand="select count(*) from course where(Course_id like '"+Tbx_id.Text +"')";
SqlCommand cm=new SqlCommand (strCommand,cn);
//查看课程编号是不是已经存在
int flag=(int)cm.ExecuteScalar ();
cm.Connection .Close ();
if(flag==0)
//将课程信息添加到表中
string insCmd="insert course(Course_id,Course_name,Course_period,Course_credit,Course_kind,Course_describe)";
insCmd+=" values('"+Tbx_id.Text +"','"+Tbx_name.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"','"+DropDownList1.SelectedItem.Value +"','"+ TextBox5.Text+"')";
SqlCommand myIns=new SqlCommand (insCmd,cn);
myIns.Connection .Open ();
myIns.ExecuteNonQuery ();
myIns.Connection .Close ();
Label2.Text ="*成功添加 "+Tbx_id.Text +" "+Tbx_name.Text;
Tbx_id.Text="";
Tbx_name.Text="";
TextBox3.Text="";
TextBox4.Text="";
TextBox5.Text="";
else
Response.Write ("<script language='javascript'> alert('课程编号重复!请检查后重新输入!')</script>");
else
Response.Write ("<script language='javascript'> alert('课程编号或课程名称不能为空!')</script>");
---------------------------
这是我以前写过的一个关于成绩管理的。你挑你需要的看。 参考技术B //数据库操作类
public class DB
//创建数据库连接字符串
private static string connStr="server=.;uid=sa;pwd=;database=table1";
private static SqlConnection getConn()
return new SqlConnection(connStr);
//完成所有的单向操作insert update delete
public static void ExecSql(string sql)
//创建连接对象
SqlConnection conn=getConn();
//打开连接
conn.Open();
//创建数据库操作对象。。
SqlCommand cmd=new SqlCommand(sql,conn);
//执行操作
cmd.ExecuteNonQuery();
//关闭连接
conn.Close();
//完成所有的双向操作select
public static DataSet getDs(string sql)
//创建连接对象
SqlConnection conn=getConn();
//打开连接
conn.Open();
//创建数据库操作对象
SqlCommand cmd=new SqlCommand(sql,conn);
//创建桥接器对象
SqlDataAdapter ada=new SqlDataAdapter(cmd);
//创建存储查询结果对象
DataSet ds=new DataSet();
//将数据存储到记过对象中
ada.Fill(ds);
//关闭连接
conn.Close();
//返回结果集
return ds;
//在页面上调用:
String Id="" //ID
String name="" //name
String password="" //password
String sql_Exl="";//你需要执行的insert update delete 语句,,这该会写吧
DB db=new Db();
////完成所有的单向操作insert update delete
db.ExecSql(sql);
//完成所有的双向操作select
String sql_GetDs=""//需要执行的Select语句
db.DataSet(sql);
以上看了如果还是不会写的话。。建议你改行本回答被提问者采纳 参考技术C B/S 还是 C/S 的?
以上是关于asp.net 怎么知道执行了添加删除修改操作的主要内容,如果未能解决你的问题,请参考以下文章