首页 美女贴图 网络日记 重庆租房 搜索指南 网络电视 飘网音乐 飘网博客 精彩网址 友情链接 飘网地图 本站留言
飘网中国
专题:网络营销 | 网站设计 | QQ技巧 | 搜索优化 | 菜鸟进阶 | 病毒攻防 | 网络技术 | 系统应用 | 本站作品 | 常用软件 | 工具软件 |
飘网中国>>网站设计>>正文

删除自动编号记录后,如何恢复记录的方法

编辑:Admin 来源: 更新:2007-9-22 点击:
【字体:

摘要:由于笔者最近不小心把access数据库里的一条记录删除了,而该记录是以自动编号的ID为主键的,要想恢复,一般的方法肯定是不行的,必须通过特殊的方法,才能恢复误删除的自动编号字段的记录。
关键字:删除 自动编号 记录 恢复 
正文:
   由于笔者最近不小心把access数据库里的一条记录删除了,而该记录是以自动编号的ID为主键的,要想恢复,一般的方法肯定是不行的,必须通过特殊的方法,才能恢复误删除的自动编号字段的记录。
   方法如下:

   比如数据库中ID:398的记录被误操作删除,如何将该记录进行恢复?
1)ID号码仍为398
2)ID的类型为“自动编号” 

首先备份数据库,然后用ddl语句Alter修改,不过你要知道这条数据的所有信息。 

步骤如下:
1、首先,记录下自动编号的最后一个号码,现在比如是5342

2、然后建立一个查询执行以下语句
ALTER TABLE tableName ALTER COLUMN [AutoNumberFieldName] COUNTER (398, 1) 

3、然后用insert 插入原来的 398 号记录(这里可以随便写几个值进去,然后再编辑就可以了)

4、插入完成后,再执行以下语句
ALTER TABLE tableName ALTER COLUMN [AutoNumberFieldName] COUNTER (5343, 1) 

注意,以上语句必须要 jet 4.0 支持。

  例如flymorn的SQL语句是这样写的:
----------------------------------------------------------------
<!--#打开数据库语句-->
<%
conn.execute "ALTER TABLE dataok ALTER COLUMN [id] COUNTER (398,1)"
conn.execute "insert into dataok([name]) values ('值123')"
conn.execute "ALTER TABLE dataok ALTER COLUMN [id] COUNTER (5343,1)"
conn.close
set conn=nothing
%>
----------------------------------------------------------------

   另外,flymorn也看到有些网友的其他解决方法,仅供参考:
A:
  Access数据库中,如果一个字段是自动编号ID,当一条记录被删除时,自动编号也被删除了,如何使自动编号不被删除?

Q:
  在最后加一个del字段,默认值为0,表示没被删除,当删除某条记录时其实并不是真正的删除它,而是把del字段的值改为1,表示已经删除。
   查询的时候不查询del字段值为1的字段,这样的话那个字段的信息就不会显示出来,也就等于是虚拟的删除了。等下次添加新记录的时候就查询del字段为1的第一个记录,如果存在,就把它的信息用新的信息覆盖,然后再把del字段的值更新成0,如果不存在,就用addnew新建立一条记录,把这条记录写进去。这样的话不会造成id丢失。
   而且另一方面还可以多出一个回收站,那里面可以显示所有del字段标记为1的记录,也就是已经删除还没被新记录覆盖的记录,如果你后悔的话,还可以赶在它被新记录覆盖之前把它的del字段的值改为0,这样的话它就又原样不动的被恢复出来了,方便又安全,我觉得还是比较不错的。
   如果实在是已经用很多记录标号被物理的删除了,也是可以恢复的,不过比较难,需要使用微软的dategard控件,调用这样控件打开数据库后,可以直接在自动编号字段里输入你想要的值,比方1这个自动标号已经被删除了,你只需要输入1,那么1这样自动编号马上就将在access里起死回生。我这样做过几次,不过由于比较麻烦,就不这样做了,仍是选择使用del字段标记的方法。

上一篇:保护Vista锁定帐户安全,防止非法登录
下一篇:ACCESS自动编号如何恢复从1开始的方法
最新文章 更多
推荐文章 更多
热门文章 更多
© 2005-2010 飘网中国 版权所有
站长邮箱:①LCC-749AT163.com ②FlymornATgmail.com(AT改为@)
如转载时,请注明出处;本站部分资源来自网络,如有侵权,请来信说明;飘易文章系统 HTML版.
渝ICP备05000119号