Sql Server 数据库问题!
大家都知道,开发的软件给用户用的时候,用户要求精简。
比如添加数据时,一般ID都会用 identity(1,1)让自动添加编号,免得用户写起来麻烦!我用的 asp.net中 gridview绑定数据。问题:
现在我添加三条数据进去!OK成功!这时ID=1,ID=2,ID=3。没问题!
接下来我把ID=3这条数据删掉,我再添一条进去。现在ID=4?为什么?高手请给你一个合理的解决方法。如果用户把ID=1这条数据给删了。那么这时候要把ID=2变成3,ID=变成2 这要怎么处理??高手请给一个合理的办法!
大家都知道,开发的软件给用户用的时候,用户要求精简。
比如添加数据时,一般ID都会用 identity(1,1)让自动添加编号,免得用户写起来麻烦!我用的 asp.net中 gridview绑定数据。问题:
现在我添加三条数据进去!OK成功!这时ID=1,ID=2,ID=3。没问题!
接下来我把ID=3这条数据删掉,我再添一条进去。现在ID=4?为什么?高手请给你一个合理的解决方法。如果用户把ID=1这条数据给删了。那么这时候要把ID=2变成3,ID=变成2 这要怎么处理??高手请给一个合理的办法!
希望对你有用
参考FC牛牛的解决办法。
或者你可以用sql语句生成连续序号(并不改变原来的ID)
这样删除自动列就不会出现那样了!
它会自动填上去
自增问题在上面的基础上这样解决:表换成不自增!就像上面友友说的。在UI层后台,处理。
在增加之前处理,但是界面不要输入框。
我是用的多层开发模式,
传到UI层一个selectCount(),一个selectMax()和一insert()方法返回int
if(select()==0)
{
int id=1;
insert(id);
}
else
{
int id=selectMax()+1;
intset()
}