我执行一个update操作后,我怎么样才能知道我更新了几条记录,有没有属性返回?

huijunzi 深圳市理才网信息技术有限公司 技术总监/研发总监  2002-07-29 01:44:08
我执行一个update操作后,我怎么样才能知道我更新了几条记录,有没有属性返回?
不要告诉我再去查询数据库后就知道了罗!
...全文
8 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gq 2002-07-29
@_@
回复
qiushuiwuhen 2002-07-29
to gq(游子) :呵呵,都是2002-07-29 15:16:00 ,早知道我就不发了

update后,select @@ROWCOUNT from 即可得到返回受上一语句影响的行数
回复
qiushuiwuhen 2002-07-29
@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0

回复
gq 2002-07-29
有。
***************************************************************
@@ROWCOUNT
返回受上一语句影响的行数。

语法
@@ROWCOUNT

返回类型
integer

注释
任何不返回行的语句将这一变量设置为 0 ,如 IF 语句。

示例
下面的示例执行 UPDATE 语句并用 @@ROWCOUNT 来检测是否有发生更改的行。

UPDATE authors SET au_lname = 'Jones'
WHERE au_id = '999-888-7777'
IF @@ROWCOUNT = 0
print 'Warning: No rows were updated'

*************************************************

回复
gshope 2002-07-29
除非用存储过程做。
回复
skyword 2002-07-29
如果是用ASP的话
执行下面的语句
sql = "update...."
conn.execute sql,num
NUM就是返回的更新了几条记录。
回复
lanying 2002-07-29
好像没办法,只能这样:
update table1 set f1=f1+1 where f2=3
select count(*) as num from table1 where f2=3
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告