关于使用ASP.NET和数据库的笔记

     最近刚刚完成了一个ASP.NET的项目,虽然很小,但是帮我熟悉了ASP.NET,同时也巩固了数据库的一

些操作的知识。
1、关于自增id
 (1)、在sqlserver中,使用identity表示,sql语句为:alter table 表名 add 列名 int

identity(1,1);在企业管理器中,可以手动改,修改字段类型为int,标识改成是,也可以实现。也

可使用select max(自增id的列名) 找出最大的。
 (2)、在oracle中,使用sequence,每个表都建一个对应的sequence,插入数据时,id列使用

sequence名.nextval。
2、插入数据
  (1)sqlserver中,例如
     事务:

    declare @n int
    insert into 表1 values(a,b);
    set @n=@@identity
    insert into 表2 values(@n,c,d);
      if @@ERROR = 0
  begin
  commit transaction;
  end
  else
  begin
  rollback transaction;
  end

   (2)Oracle中

 begin transaction   
  DECLARE 
    n int; m int;
  select 表1序列.nextval into n from dual;
  select 表2序列.nextval into m from dual;
   int insert into 表1(id)
  values(n);
   insert into 表2(id)
   values(m);
   commit;
   exception 
   when others then
     rollback;
     end;

 oracle中序列不能赋值给变量,只能用select。oracle赋值:=。
  3、关于时间的使用
   (1)insert时间时,直接加单引号,将其当成字符串出错几率会小一些
    (2) oracle中可以使用to_date函数转换。详见

http://blog.csdn.net/yysyangyangyangshan/article/details/6924279
  4、oracle中的分页

SELECT  FROM 表1
WHERE 条件1  AND 表1.ROWID IN (SELECT RID FROM (SELECT ROWNUM RN,RID FROM(SELECT ROWID RID,表1.id FROM  BM_SUGGESTION c ORDER BY 表1.id DESC)
WHERE ROWNUM<pageIndex * pageSize) WHERE RN>(pageIndex - 1) * pageSize) ORDER BY 表1.id  DESC

你可能感兴趣的:(oracle,数据库,exception,asp.net,sqlserver,insert)