| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 12321 人关注过本帖
标题:[求助]SQL 语句中取最后一条记录ID的语句怎么写
只看楼主 加入收藏
airfei
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-4-12
收藏
 问题点数:0 回复次数:11 
[求助]SQL 语句中取最后一条记录ID的语句怎么写
SQL 语句中取最后一条记录ID的语句怎么写?请指点一下
搜索更多相关主题的帖子: SQL 语句中 记录 
2007-04-25 14:53
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
select max(id) from table where ...

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-25 14:54
冰残剑
Rank: 1
等 级:新手上路
威 望:2
帖 子:179
专家分:0
注 册:2006-3-6
收藏
得分:0 
select top 1 ID from [yourtable] order by ID desc

剑雪无情冰封流 残阳血照
2007-04-25 14:55
airfei
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-4-12
收藏
得分:0 
回复:(冰残剑)select top 1 ID from [yourtable] o...
问题解决,谢谢你.我还想问你一下.
我用的是dataview,在项模板中添加了个图片按钮,同时启动了dataview的分页,一页显示一幅图片按钮.我想当我点击这幅图片的时候就转到另一个页面中.
我于是就编辑了图片按钮的事件,
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("ImgNews.aspx?ImgID=");//就是这里不知道怎么取我在dataview中选中的图片的ID.
}
你能帮帮我吗?
2007-04-25 15:22
djx520
Rank: 1
等 级:新手上路
威 望:1
帖 子:38
专家分:0
注 册:2007-4-2
收藏
得分:0 
select max(id) from table where ...
这句有时候是不行的,要是id最后一条不是最大的呢


select top 1 ID from [yourtable] order by ID desc 这个也是一样
id最后一条不是最大的就是错的

最保险的办法是用游标
2007-04-25 15:29
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用airfei在2007-4-25 15:22:48的发言:
问题解决,谢谢你.我还想问你一下.
我用的是dataview,在项模板中添加了个图片按钮,同时启动了dataview的分页,一页显示一幅图片按钮.我想当我点击这幅图片的时候就转到另一个页面中.
我于是就编辑了图片按钮的事件,
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect("ImgNews.aspx?ImgID=");//就是这里不知道怎么取我在dataview中选中的图片的ID.
}
你能帮帮我吗?


只要你能取出相应的图片进行显示就可以了.
你可以将你的图片按一定的格式进行编号命名,取出图片读取时就可以将图片的ID放到一个变量中..后面就可以引用了.


飘过~~
2007-04-25 16:22
airfei
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-4-12
收藏
得分:0 
回复:(djx520)select max(id) from table where .....
我是用的dataview+sqldatasource,取图片时我就用了绑定<%# Eval('ImgPath')%>
怎样将图片按一定的格式进行编号命名,取出图片读取时就可以将图片的ID放到一个变量中?能具体说说吗?谢谢!
我有个ImgID是保存图片ID的
2007-04-25 16:49
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
收藏
得分:0 
select @@identity

好累
2007-04-25 17:12
airfei
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2007-4-12
收藏
得分:0 
回复:(airfei)回复:(djx520)select max(id) fro...
这个是什么意思,能详细点说说吗?
2007-04-25 17:22
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
收藏
得分:0 
上述都不是最佳解决。
对于SQL Server数据库,它提供了两个系统属性供取回最后一次插入时主键值。一个是SCOPE_IDENTITY,另一个是@@IDENTITY。
SCOPE_IDENTITY记住的是在一个应用实例范围内的主键标识。假如插如操作和取主键值的操作使用了不同的连接,则它们处于不同的实例,只能使用@@IDENTITY来获取最后一次插入的主键值。

这里还要提到一点,通常插入操作和取主键值的操作时分开的,@@IDENTITY仅记住最后一次插入操作时产生的主键值,这时应该考虑并发问题,假如你的程序是并发访问数据库,在本实例中插入完毕即将取回@@IDENTITY之间,其他实例可能会执行插入操作,这时候@@IDENTITY取到的就是其他实例插入的主键值。因此这里应该考虑将其作为一个事务来处理。

对于Access的话,会比较棘手。上述方法可以在一定程度上使用,但是都是不完备的(不能保证正确)。还有一种变相的解决办法是,在一个表中除了主键,还有一个或若干列合在一起其值是唯一的,通过这些“候选键”来间接找到主键的值。“候选键”本身就可代表一行,因此它是完备的,并可以正确找到主键,而且也避免了并发问题。
举个例子:假如会员系统用户名要求是唯一的。那么用户名可以作为候选键的一种。当插入成功后,又再通过用户名查询即可查到主键ID的值。虽然它是完备的,但有额外的要求是其有些使用限制,在者就是写程序时会比较繁琐些。

铲铲是也
2007-04-26 06:07
快速回复:[求助]SQL 语句中取最后一条记录ID的语句怎么写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046525 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved