我有像这样的数据录入表单。
Data Entry Form http://img192.imageshack.us/img192/2478/inputform.jpg
有一些空行,其中一些行有值。用户可以更新现有值,也可以在空行中填充值。
我需要在我的DB表中映射这些值,其中一些将作为新行插入到数据库中,现有记录将被更新。
我需要你的建议,我如何才能用最好的方法完成这个场景。
谢谢
发布于 2010-01-15 13:39:57
对于每一行,我将有一个主键(隐藏)、一个脏标志和一个新标志。在网格中,您可以在进行更改时将“脏”标志设置为true。在UI中添加新行时,需要设置新标志并生成主键(如果使用GUID作为键,这将是最简单的)。然后,当您将所有这些内容发送回服务器时,您将在设置了新标志时执行插入,并对带有脏标志的那些进行更新。
完成数据提交后,只需清除脏标志和新标志即可。
当然,如果数据是由多个贡献者共享的,并且可以同时编辑,那么如果你不想有人覆盖其他人的编辑,就会涉及更多。
发布于 2010-01-15 13:52:56
我会考虑使用ADO.net、DataSets和DataTables作为自定义数据网格在内存中的后备存储。ADO.net允许您从数据库中批量加载数据集,并跟踪对内存中该数据的插入、更新和删除操作。完成后,您可以将存储的事务批量处理回数据库。
使用ADO.net的最大好处是,所有棘手的更改跟踪代码都已经为您编写好了,并且库部署到了每台支持.net的机器上。
虽然现在还不流行,但是您也可以使用ADO.net序列化通过网络发送XML数据集进行修改,然后再将其发送回数据库进行处理。
用谷歌搜索一下。关于如何使用ADO.net的书籍、教程和博客文章数不胜数。
https://stackoverflow.com/questions/2069676
复制相似问题