如何在不维护会话的情况下避免比较



我有一个网页,它显示前面捕获的数据。现在,这些数据来自数据库,属于数据库表的多个记录。当用户更新这些数据时,我们必须更新我们的数据库记录。问题是我无法跟踪哪些记录被修改了,因为我们没有会话。所以我再次提取了所有的记录,并与网页上的数据进行了比较。如果有人知道更好的方法(避免比较),请帮助我。

使用记录的主键来识别它。当您呈现用于编辑记录的窗体时,您可以在隐藏字段中输出主键。

如果您有一个允许同时更新多条记录的页面,则可以跳过比较并始终更新所有记录-如果您使用MSSQL 2008或更新版本,则可以使用表值参数在一次调用中将所有记录传递到DB,并使用MERGE命令进行批量更新。

您还可以编写javascript,它将在每次输入编辑时触发,并为修改后的记录(隐藏字段)设置一个"脏"标志。你会知道哪些行被编辑了。

最新更新