![](/img/trans.png)
[英]Fastest way to update all rows to have same value in one column in datatable, without loop in C#
[英]update selected rows column value in datatable sql
我在数据库中有四行,我从数据库中选择了两行并保存在数据表中。 我需要更新数据表中两行的日期列。
if (dt.Rows.Count > 0)
{
SqlCommand date1 = new SqlCommand("update OutletId set Date=dateadd(dd,1,Date)", sqlc);
date1.ExecuteNonQuery();
}
但是上面的查询会更新所有四行。 有解决方案吗?
您忘记在查询中放入Where
条件。
替换此查询:
update OutletId set Date=dateadd(dd,1,Date)
有了这个 :
update OutletId set Date=dateadd(dd,1,Date) Where yourField=yourValue
由于使用的是DataTable
,因此必须使用dt
参数传递Where
子句的值。
为数据表行建立循环,并使用类似以下内容的方法传递Where
子句参数: dt.Rows[index]["columnName"].ToString()
希望这可以帮助。
如果有100条记录,请使用where子句进行特定的行更新,然后进行更新,而where子句不会影响所有行,因此您需要在表中添加带有主键或唯一键的where子句
if (dt.Rows.Count > 0)
{
SqlCommand date1 = new SqlCommand("update OutletId set Date=dateadd(dd,1,Date) where pk="+primary key, sqlc);
date1.ExecuteNonQuery();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.