Access数据库“自动编号”数据类型是一个非常实用的类型,它可以很方便地帮助我们完成标识不同记录ID的工作。但是由于JET引擎的特性(SQL server使用T-SQL),当我们在Access数据库某张表中执行了删除所有数据的操作后,被用来标识唯一ID的字段将不再归零(从头开始计数),而是会继续延续上次ID递增计数,我们可以用若干种方法解决这样的问题,以下结合ASP推荐两种方法(以下方法都是建立在空数据表的“自动编号”归零的前提下):
第一种:压缩数据库
用过Access的朋友应该都知道在Access的工具栏上我们可以通过:
点击“工具”=>“数据库实用工具”=>“压缩和修复数据库”来完成对数据库的压缩和修复工作,当这项工作完成时,Access各空数据表的“自动编号”字段也会做归零操作。
而我们也可以用ASP来完成这项工作,以下是压缩数据库主要SUB:
<
%
Sub
CompactDB(strDBFileName)
Set
fso
=
CreateObject
(
"
Scripting.FileSystemObject
"
)
Dim
strOldDB
strOldDB
=
Server.MapPath(strDBFileName)

Access数据库的自动编号字段在删除所有数据后不会自动归零,但可通过压缩数据库或SQL语句实现重置。本文介绍了两种方法:一是使用ASP调用CompactDB函数进行数据库压缩和修复;二是通过ALTER TABLE SQL语句更改表属性,实现自动编号字段归零。需要注意的是,数据库文件重命名可能引起问题,压缩和修复数据库能解决此类异常。

1506

被折叠的 条评论
为什么被折叠?



