如何控制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)
.........
...全文
319 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
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)

是这个意思吗?

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧