问个sql更新问题
现有表Anumber 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--------------------编程问答-------------------- 没太明白LZ的用意。 --------------------编程问答-------------------- 这样做没多大意义呀,更新肯定要where条件,才知道你要一更新的是哪一行的数据撒。
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 行受影响)
--------------------编程问答--------------------
在C#里也是这样写吗? --------------------编程问答--------------------
更新的是个excel文件,有没编号,name和number可能都有相同的,哪来的更新条件,所以只好来问问看了 --------------------编程问答-------------------- 楼主最好能说明白想实现什么效果,这样大家才能帮你解决问题!不加where条件的话所有数据都会更新啊! --------------------编程问答-------------------- 如果可以实现的话,答案就是8楼所示的了 --------------------编程问答-------------------- 在C# 里实现好像应该不可以,必须加where 条件,要不无法定位 --------------------编程问答-------------------- 这是做什么用的呢 --------------------编程问答--------------------
5楼的这个方法不:不过要小改一下:
update A set [name] = 'name' where number = (select top 1 number from A)
补充:.NET技术 , C#