当前位置:首页
开发技术指南» 文章正文
    引言:

 ·奇怪的时间结果    »显示摘要«
    摘要: 我的表(access)里的时间字段的数据是 2004-1-1 2004-1-3 2004-1-7 2004-1-10 .... datediff(d,t1,#2004-1-4#)<1 .... 结果是2004-1-7 2004-1-10 它是怎么计算的啊,怎么得到这个结果? ......
 ·内存地址问题    »显示摘要«
    摘要: 在windows中的设备管理器中的硬件的内存范围的地址是物理地址还是线性地址? ......


自定义标识问题

我现在要标识一个字段,但是不能用自动标识,只能在一定条件下自增,  
  如:在一年内,某个项目执行了N次,我现在要对它进行标识,"01""02"...,当插入一条记录,就自增.删除一条记录,下面的记录就往上调,插入一条记录就往下调,反正中间不能有空隙.第二年,各项目又从"01"开始自增,请问,这个能在数据库中实现吗?

NO.1   作者: zjcxc

--自已做标识列的例子:  
   
  --创建得到最大id的函数  
  create   function   f_getid()  
  returns   int  
  as  
  begin  
  declare   @id   int  
  select   @id=max(id)   from   tb  
  set   @id=isnull(@id,0)+1  
  return(@id)  
  end  
  go  
   
  --创建表  
  create   table   tb(id   int   default   dbo.f_getid()   primary   key,name   varchar(10))  
  go  
   
  --创建触发器,在删除表中的记录时,自动更新记录的id  
  create   trigger   t_delete   on   tb  
  AFTER   delete  
  as  
  declare   @id   int,@mid   int  
  select   @mid=min(id),@id=@mid-1   from   deleted  
  update   tb   set   id=@id,@id=@id+1   where   id>@mid  
  go  
   
  --插入记录测试  
  insert   into   tb(name)   values(张三)  
  insert   into   tb(name)   values(张四)  
  insert   into   tb(name)   values(张五)  
  insert   into   tb(name)   values(张六)  
  insert   into   tb(name)   values(张七)  
  insert   into   tb(name)   values(张八)  
  insert   into   tb(name)   values(张九)  
  insert   into   tb(name)   values(张十)  
   
  --显示插入的结果  
  select   *   from   tb  
   
  --删除部分记录  
  delete   from   tb   where   name   in(张五,张七,张八,张十)  
   
  --显示删除后的结果  
  select   *   from   tb  
   
  --删除环境  
  drop   table   tb  
  drop   function   f_getid

NO.2   作者: hdslah

select   identity(int,1,1)   *   into   aa   from   youname


 ·esc键的问题,很,在线等    »显示摘要«
    摘要: 写了以下一段程式,但是当运行程式时在textbox1里面按esc键,什么反映都没有,请问是哪里出错了: private sub textbox1_keypress(byval sender as system.object, byval e as system.windows.forms.keypresseventargs) handles textbox1.keypress if e.......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE