日期:2014-05-17  浏览次数:20698 次

求一算法:
大家五一好。
这里我想问:
aaa表内有一个字段sid
字段内容分别是:1,2,3,5,7,8,9,11....(无序的)
我想实现增加下一条记录时,sid为4
再增加下一条记录时,sid为6
再再增加下一第记录时,sid为10
....
这个用条件语句+SQL语句怎么写呢?

------解决方案--------------------
是要连续的autoID吗?

不会


Mark
------解决方案--------------------
具体怎么做也懒得试了,

如果你会联合查询,那你先可以并入一个自增的字段,如ssid,内容分别123456789....

然后查sid= " " order by ssid 的top 1 记录,得到结果

下面的不用说,就是用这个结果写入咯。

无聊签名:Kive Tja
------解决方案--------------------

一个思路是:
假如表名为tTable

首先找出最大的sID
sSQL = "select Max(sID) from tTable "
Rs.Open sSQL, objConn, 1, 3
intMaxID = Rs(0) '最大的sID

strSQL = "select sID from tTable order by sID "
objRs.Open strSQL , objConn, 1, 3
intCount = objRs.RecrodCount '记录总数


for i=1 to intMaxID
for j=1 to intCount
if cstr(objRs( "sID ")) <> cstr(i) then
strAdd = "Insert into tTable(sID)values( " & i & ") "
objConn.Execute strAdd
Exit For
Exit For
end if
objRs.MoveNext
next
next

随手写的,不是最优算法,期待最优算法