足控吧:很简单的ASP问题,如何select出表中的最新记录?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/20 04:14:24
如何select表中最后一个添加的记录呢?谢谢
不行啊,select top 1 * from 这个语句总是出错
PS:我是ACCESS数据库。

上面两位兄弟写的,select top 1 * from "表名" order by "时间或者id" desc
一般情况下可以,但是如果是并发情况,就可能出问题。

呵呵,最近刚做完这个--比如插入一条新闻(id自动编号),要获取此id。有了id,最后一条记录就好说了吧

1、如果是Access数据库,
sql="select top 1 * from article"
rs.open sql,conn,1,3
rs.addnew
rs("Title")=Title
rs("TitleFontColor")=TitleFontColor
rs("TitleFontType")=TitleFontType
rs("Content")=Content
rs.update
ArticleID=rs("ArticleID")
2、如果sqlserver,以上方法不行
/* 对于想要得到一个表中的最后一个插入操作所产生的ID的最好用IDENT_CURRENT('TBName')*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT IDENT_CURRENT('recordID') as newIDValue

/*对于马上使用的刚才插入的新记录ID用SCOPE_IDENTITY()是最合适的*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT SCOPE_IDENTITY() as newIDValue

/*对于想要得到一系列的操作中最后得到的那个自增的ID最好用@@IDENTITY*/
INSERT INTO table(field1,field2,...) VALUES("field1Value","field2Value",...) SELECT @@IDENTITY as newIDValue

想必你肯定有个时间字段吧! 如果有的话就用这条!
select top 1 * from "表名" order by "时间" desc
按时间取最新的一条(也就是你所谓的最后插进去的那一条)!

有时间字段可以用ccloveme的方法

如果有自动增加的ID字段,可以用select top 1 * from 表名 order by id desc

也不失为一种方法