C#浅拷贝与深拷贝
你必须掌握的C#基础系列之C#浅拷贝与深拷贝 我们先来看看百度的说法: C# 支持两种类型:“值类型”和“引用类型”。 值类型(Value Type)(如 char、int 和 float)、枚举类型和结构类型。 引用类型(Reference Type) 包括类 (Class) 类型、接口类型、委托类型和数组类型。 如何来划分它们? 以它们在计算机内存中如何分配来划分 值类型与引用类型的区别? 1,值类型的变量直接包含其数据, 2,引用类型的变量则存储对象引用。 对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用...
LINQ找不到行或行已更改 解决办法
刚开始使用Linq,对linq 的更新策略还不是很了解,所以在设计数据库的时候根本就没有考虑到更新检查策略。在插入的时候没有任何问题,更新数据的时候,问题就来了,报错:“System.Data.Linq.ChangeConflictException: Row not found or changed”(找不到行或行已更改)。在网上查了下,这个问题有两种解决办法:一是增加 timestamp(时间戳)列,二是设置主键 IsVersion="true"。我选用了第二种解决办法,OK,更新数据库没有问题了。但是,插入的时候报错:“主键不能插入NULL值”,设置断点,单步跟踪,直到 Su...
Oracle事务示例及注意事项
ORACLE事务学习笔记 有关事务的语句 commit, rollback, savepoint, settransaction drop table t2 purge; create table t2 (x int); drop table t3 purge; create table t3 (x int check(x>0)); create or replace trigger t_trigger before insert or delete on t3 for each row declare begin if(inserting) then update t2 set x=x+1; else update t2 set x=x-1; end if; dbms_output.put_line(sql%rowcount||'条记录已经被触发并且更新'); endt_trigger; insert into t2 values(1);...
Oracle定时执行
--创建日志信息表(测试表)create table T_LOG( id number, datetime DATE);--插入测试数据insert into t_log values (1,'25-5月-2006');--查看日志信息select * from t_log;--创建删除日志信息的存储过程create or replaceprocedure pro_clear_log asbegin delete from T_LOG where datetime < add_months(sysdate,-12); --删除一年前的存储过程 commit;end;--创建调度任务 declare jobno number; begin dbms_job.submit( jobno, what => 'pro_clear_log;', --pro_clear_log...