当前位置:编程学习 > C#/ASP.NET >>

问个sql更新问题

现有表A
number name
a      aa
b      bb

现在把表读到dataset里,那么更新表,不用where number或name等条件,把第一行的数据更新,有办法吗? --------------------编程问答-------------------- 顶起。。。。 --------------------编程问答-------------------- 没有where条件 ,怎么能更新指定的哪一行
矛盾的

这样产生的结果是,即使下了update语句,结果所有行都被更新 --------------------编程问答-------------------- @lz:
您是指将DataSet中的数据更新到数据库中吗?如果是的话,没有了参照依据SqlDataAdaper怎样才能知道您想更新数据库中的哪行数据? --------------------编程问答-------------------- 不用where肯定都更新了,肯定要加条件 --------------------编程问答-------------------- 更新第一行数据应该怎么写,字段就那2个 --------------------编程问答-------------------- 必须要有where的吧~这样可以更新第一条
update A set name = 'name' where number = (select top 1 number from A) --------------------编程问答-------------------- ;with t as
{
select *,row_number() over(partition by number) as rownumber from A
}

update t set name='值' where rownumber=1 --------------------编程问答--------------------
set rowcount 1
update t set name='bbbb',number='cccc'
--------------------编程问答--------------------
if object_id('t') is not null
drop table t
go
create table t(id int ,name varchar)
insert t
select 1,'a' union all 
select 1,'b' union all
select 2,'c'


set rowcount 1
update t set id=4,name='d'
set rowcount 0
select * from t


(3 行受影响)

(1 行受影响)
id          name
----------- ----
4           d
1           b
2           c

(3 行受影响)
--------------------编程问答--------------------  没太明白LZ的用意。 --------------------编程问答-------------------- 这样做没多大意义呀,更新肯定要where条件,才知道你要一更新的是哪一行的数据撒。
--------------------编程问答--------------------
引用 8 楼 sql77 的回复:
SQL code
set rowcount 1
update t set name='bbbb',number='cccc'


在C#里也是这样写吗? --------------------编程问答--------------------
引用 11 楼 fxsy6669 的回复:
这样做没多大意义呀,更新肯定要where条件,才知道你要一更新的是哪一行的数据撒。


更新的是个excel文件,有没编号,name和number可能都有相同的,哪来的更新条件,所以只好来问问看了 --------------------编程问答-------------------- 楼主最好能说明白想实现什么效果,这样大家才能帮你解决问题!不加where条件的话所有数据都会更新啊! --------------------编程问答-------------------- 如果可以实现的话,答案就是8楼所示的了 --------------------编程问答-------------------- 在C# 里实现好像应该不可以,必须加where 条件,要不无法定位 --------------------编程问答-------------------- 这是做什么用的呢 --------------------编程问答--------------------
引用 5 楼 candbasic 的回复:
更新第一行数据应该怎么写,字段就那2个
必须要有where的吧~这样可以更新第一条
update A set name = 'name' where number = (select top 1 number from A)


5楼的这个方法不:不过要小改一下:


update A set [name] = 'name' where number = (select top 1 number from A)
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,