更新两个字段的多个记录

时间:2011-12-04 19:05:36

标签: c# asp.net sql-server

我有一个叫做驱动程序的表,我想用随机数更新驱动程序的位置字段('pos_x'和pos_y),我做的就是从表中选择数据(看看我有多少个驱动程序)然后更新他们的位置,然后再次选择数据是否有另一种方法来做这件事?

2 个答案:

答案 0 :(得分:2)

如果您创建一个类来保存驱动程序信息,那么您可以取消最后一步(再次选择数据)。

步骤如下:

1)将数据读入List。

2)更新列表中的值。

3)将List中的数据写入数据库。

答案 1 :(得分:1)

  

我想用随机数更新司机的位置字段(pos_x和pos_y)

只需使用SQL即可轻松完成此操作。

UPDATE Person
SET   Pos_X = ABS(CHECKSUM(NEWID())) % 1000
    , Pos_Y = ABS(CHECKSUM(NEWID())) % 1000

由于这一切都是在SQL服务器上完成的,这意味着您不会产生来回传输数据的网络开销。当然,您需要选择之后使用的结果。

为什么ABS-CHECKSUM-NEWID?我用T-SQL的RAND()函数和less than satisfactory results尝试了它!