[英]Editing table row data populated with with classic asp
我希望这将是一个相当简单的问题,因为我没有在寻找任何特定的代码。 我在从SQL Server填充的经典ASP页面上有一张表。 我已经设置好表格,以便每一行都是可单击的,并带您到页面来编辑行中的数据。 我的问题是:我最好还是尝试使用填充表的记录集,还是重新连接到数据库并仅提取要编辑的记录?
一如既往; 这取决于。 这取决于您需要对记录进行编辑的内容。 这取决于您的数据库和站点之间的距离。 如果数据库和站点位于不同的计算机上,则功能取决于哪台计算机。
话虽如此,您应该针对该特定记录进行新的呼叫。 原因主要是由于您在问题中提出的规范:
...并带您进入页面以编辑行中的数据
您不应该尝试在页面之间传递记录集。 有几个原因
在第1点上,有两种方法可以解决这个问题。 一种是当您只需要1条记录时,您试图在整个页面上传递整个记录集。 在极少数情况下,另一个数据库调用将花费更多的钱。 另一个是您只通过了一项记录,这会让我质疑您的设计。 为什么此记录集具有与记录相关的每个项目。 您只为结果列表选择了太多方法。 或者,如果记录是如此之小,那么为什么需要新页面。 如果最小,为什么您不能只显示项目的编辑模板。
在第2点上,请考虑以下情形。 您正在与同事讨论如何更改客户记录。 您在应用程序中提取了此结果集,但随后自然调用,您离开了办公桌。 客户打给同事电话,询问为什么记录尚未更新。 为了安抚客户,您的同事进行了更改。 现在,您正在使用旧的记录集,并且可能会覆盖您同事不在时的其他更改。 这一切都是因为您从不更新记录集,而是总是将旧记录集逐页传递。
在点3上,我们可以稍微回顾一下点1。 假设您现在正在传递5个字段。 您决定是否需要注释字段来附加到现有字段之一。 您打算将该注释字段的2000个字符传递到下一页吗? 如果这5个人中的每一个都需要一个评论字段怎么办? 您是否打算为正确分页的10个记录集传递10,000个字符? 您是否不进行记录集分页,并且需要传递10,000个字符才能获得完整的126条记录。
还有更多原因。 您是否可以通过这种方式使记录安全通过? 这会影响您用户的体验,因为他们的计算机很笨拙,无法快速建立快速的发布请求? 通常,最好只保留所需的内容,并且在大多数情况下,结果集不应包含需要编辑的所有内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.