如何控制update语句更新的记录条数?

wonsin 2004-09-20 01:56:46
各位高手,我想用update语句来更新表中的数据,更新的记录条数是通过一个文本框来控制,就象select top * 语句样来控制,怎么做?
..........
Str1 = "update phoneinfo set projectname='" & TxtProjectID.Text & "',outdate={fn now()} where .....
Conn.Execute (Str1)
.........
...全文
226 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wonsin 2004-09-22
谢谢 vbman2003(家人)、leolan(史留香)、 RUKYO(SpeakFool - 蠢蠢的男子汉),经过试验,成功了,失败的原因是我的表中没有设主键!leolan(史留香)的方法不太适合,因为where后面是用的一个查询的函数,取的两个表,其健值要修改好多地方才能别认出是那个表的!
回复
vbman2003 2004-09-21
但是主键是动态的,回为我是用的一个多条件查询来做的,可以自由组合条件,所以主键没办法确定呀!?
****************************************************************************************

SQL语句中的“主键”,指的是你表中“主键名称”,不是主键的值!
leolan(史留香) 语句中的“关键字”也是这个意思。
回复
ryuginka 2004-09-21
up
回复
leolan 2004-09-20
//不好意思,应该不是你的这个意思,因为ID不会是一个个输入的,我是想比如我想要5条记录,就输入5,则update 5条记录。而你这样是要以ID来判断的吧。

是跟我說的嗎?
將10改成想要Update的記錄數,試試就知了.
回复
wonsin 2004-09-20
感谢vbman2003(家人),但是主键是动态的,回为我是用的一个多条件查询来做的,可以自由组合条件,所以主键没办法确定呀!?
回复
vbman2003 2004-09-20
RUKYO(SpeakFool - 蠢蠢的男子汉) 说的很清楚了 ^_^
回复
vbman2003 2004-09-20
id只是表示你要用一个主键来确定你要更新的记录。比如:你输入更新数量的文本框为txtCount:
......
Dim iCount As Integer
Dim Sql As String
iCount = txtCount.Text
Sql = "Update phoneinfo "& _
"Set projectname='" & TxtProjectID.Text & "',"& _
"outdate={fn now()} "& _
"Where 主键 in (Select Top " & iCount & " 主键 From phoneinfo)"
Conn.Execute (Str1)
......

回复
wonsin 2004-09-20
不好意思,应该不是你的这个意思,因为ID不会是一个个输入的,我是想比如我想要5条记录,就输入5,则update 5条记录。而你这样是要以ID来判断的吧。
回复
leolan 2004-09-20
Str1 = "update phoneinfo set A.projectname='" & TxtProjectID.Text & "',A.outdate={fn now()} FROM phoneinfo A INNER JOIN (SELECT TOP 10 * FROM phoneinfo) B ON A.關鍵字 = B.關鍵字 where .....
回复
leolan 2004-09-20
Str1 = "update phoneinfo set A.projectname='" & TxtProjectID.Text & "',A.outdate={fn now()} FROM phoneinfo A INNER JOIN (SELECT TOP 10 * FROM phoneinfo) B ON A.關鍵字 = B.關鍵字 where .....
回复
RUKYO 2004-09-20
我想楼主的意思是根据TextBox中的输入数来作为更新记录的条数吧,假设TxtSelectNum为你输入个数的文本框,根据vbman2003的语句改动一下就可以了:

Str1 = "Update phoneinfo Set projectname='" & TxtProjectID.Text & "',outdate={fn now()}
Where id in (Select Top " & TxtSelectNum.Text & " from phoneinfo)"

回复
vbman2003 2004-09-20
Update phoneinfo Set projectname='" & TxtProjectID.Text & "',outdate={fn now()}
Where id in (Select Top 5 id from phoneinfo)
回复
vbman2003 2004-09-20

更新前5条:
Update phoneinfo Set projectname='" & TxtProjectID.Text & "',outdate={fn now()}
Where id in (Select Top 5 from phoneinfo)

是这个意思吗?

回复
相关推荐
发帖

1188

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2004-09-20 01:56
社区公告
暂无公告