你可以使用
Microsoft Jet and Replication Objects
这里给你vb的例子,改成asp应该会吧?
Sub Main() Dim jro As JRO.JetEngine jro = New JRO.JetEngine() jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5") MsgBox("Finished Compacting Database!")
End Sub
Microsoft Jet and Replication Objects
这里给你vb的例子,改成asp应该会吧?
Sub Main() Dim jro As JRO.JetEngine jro = New JRO.JetEngine() jro.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\nwind.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\NewNwind.mdb;Jet OLEDB:Engine Type=5") MsgBox("Finished Compacting Database!")
End Sub
delete from myTable
insert myTable (ID,other) value (1,'第一行资料')
insert mytable (other) value ('其它行资料')至少对于Jet3.0(Access 97、98)是适合的。但是我认为,如果你提出标题这个问题又确实想解决,最好还是相信不值花力气解决(因为很多counter的问题你将来还得应付),最好放弃counter类型,不要依靠系统,而是自己给编号字段计算正确的值。
如果要让自动编号以最小可能值开始,只要压缩数据库即可。如果表已经清空,那么就是从1开始。
如果mdb文件在web服务器上,那么可以在asp中创建jro对象来压缩。
就这么简单。