繁体   English   中英

更新数据表SQL中的选定行列值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM