以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]UPDATE语句请教 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26566) |
-- 作者:blueskyyq -- 发布时间:2012/12/8 1:01:00 -- [求助]UPDATE语句请教 UPDATE {任务表} set 责任人 = \'张三\' Where 责任人 Is Null,这一句执行正确 但我只要UPDATE部分符合条件的行,比如说前100条,这个TOP 100怎么加上去才有效呢 请教各位高手 |
-- 作者:lin_hailun -- 发布时间:2012/12/8 9:24:00 -- 如果是Access的话,要分几步走。 查出第100行的sortkey值,然后写。 UPDATE {任务表} set 责任人 = \'张三\' Where 责任人 Is Null and _Sortkey <= 查出的值 如果是sqlserver就简单一点。 update temp set 责任人 = \'张三\' From (select Top 100 * from {xxx} where 责任人 is null order by _sortkey) as temp |
-- 作者:blueskyyq -- 发布时间:2012/12/8 11:27:00 -- 谢谢二位 |
-- 作者:blueskyyq -- 发布时间:2012/12/8 13:02:00 -- 还是搞不定,大家再帮忙看下 我用的是Access数据源,怎样用SQL语句查出第100行的sortkey值(我用的是分页加载,只能用后台SQL语句) |
-- 作者:blueskyyq -- 发布时间:2012/12/8 13:20:00 -- 请教各位高手,实现一楼想法用SQL语句怎么写(Access数据源,要进行操作的数据大部分是还没有加载的) |
-- 作者:blueskyyq -- 发布时间:2012/12/8 13:37:00 -- dim dt as datatable cmd.CommandText = select top 100 From {任务表} Where 责任人 Is Null dt = cmd.ExecuteReader for each dr as datarow in dt dr("责任人") = “张三" next 想了一下,可心按上面语句,但怎么写回去呢? |
-- 作者:lin_hailun -- 发布时间:2012/12/8 13:40:00 -- 这样去获取。 Dim cmd As New SQLCommand cmd.Co nnectio nName = "sss" cmd.CommandText = "Select Top 100 _Sortkey From {任务表} Where 责任人 Is Null Order By _Sortkey" Dim dt As DataTable = cmd.ExecuteReader() sortkey = dt.DataRow(99)("_Sortkey") msgbox(sortkey) [此贴子已经被作者于2012-12-8 13:44:11编辑过]
|
-- 作者:blueskyyq -- 发布时间:2012/12/8 13:47:00 -- 小林,你那样我试过了,不行。返回的是 责任人 Is Null 中最大的_Sortkey ,不是想要的值 cmd.CommandText = "Select Top 100 Max([_Sortkey]) From {任务表} Where 责任人 Is Null Order By [_Sortkey]" (特殊列名要加[]) 这样写又提示出错 |
-- 作者:lin_hailun -- 发布时间:2012/12/8 14:25:00 -- Select Top 100 _Sortkey From {任务表} Where 责任人 Is Null Order By _Sortkey 返回的,是前100行的数据。 然后取得第100行的数据,这个不会是_Sortkey的最大。楼主你试试,不行的话,上传例子。 |
-- 作者:blueskyyq -- 发布时间:2012/12/9 23:18:00 -- 还是搞不定啊,各位再帮我看看 |