update命令,怎么能在C#里得到像触发器里inserted和deleted表里的数据记录A执行update命令在执行update命令前,用变量A保存记录A
执行update命令时,用变量B保存记录B(变更后的记录A)也就是变量A相当于deleted表里的数据 ,变量B相当于inserted表里的数据
执行update命令时,用变量B保存记录B(变更后的记录A)也就是变量A相当于deleted表里的数据 ,变量B相当于inserted表里的数据
不过很好奇你为什么要得到这个东西
如果你只是要获取什么记录添加了,什么记录删除了
可以使用DataSet的GetChanges()或其他类似的方法获取
一般操作那样完全可以,但是如果update命令修改的和条件有相同字段,比如表T有A和B两个字段,
update t set a = 1 where a = 2这样的话你的方法相同的条件修改前和修改后获得的不是相同的列了TO dongwei2345(越轨者) ( ) 信誉:100 :
在做个日志功能,要求能回滚操作,所以要记录下操作前和后的状态用来查询和回滚.由于对外不一定用什么,所以DataSet的GetChanges()用不了
问题是有时候执行update命令时,用变量B保存记录B(变更后的记录A)这步很难做到,如果修改字段和条件字段有相同的,如表T有字段A,B,那么update t set a = 1 where a = 123这句,根据where a = 123这个条件就找不到修改前的那些记录了
TO dongwei2345(越轨者) ( ) 信誉:100 是做个日志类,要求可以回滚操作,所以才要记录数据库操作的对应反操作,由于是通用的,所以不能用DataSet的GetChanges()这类东西
如:update t set a = 1 where a = 2,这样根据相同条件就查不到原来的那条记录了TO dongwei2345(越轨者) ( ) 信誉:100 做个日志类,要求有数据回滚功能,所以要记录操作和对应回滚的命令,因为是通用的,所以不能用
DataSet之类的东西
代理免费送平台跟cn..价格有市场.www.hq-idc.cn
qq546455436
记录A执行update命令
在执行update命令前,用变量A保存记录A(变量A是一个实体对象,用属性标识列)
执行update命令时,用变量B保存记录B(变更后的记录A)如表T有字段A,B
实体类
class T
{
private String m_A;
public String A
{
get { return m_A; }
set { m_A = value; }
}
private String m_B;
public String B
{
get { return m_B; }
set { m_B = value; }
}
}
更新这条记录,首先把该记录取出来
T=new T();
T.A=liu;
T.B=yy;
所有的记录不一定是安稳的放在Dataset里保存记录B(变更后的记录A)这步不好实现啊,当条件和修改有相同字段,
如:update t set a = 1 where a = 2,这样根据相同条件就查不到原来的那条记录了