Sql server 尝试开发一个“保存”按钮,如果在单击“退出”之前未单击该按钮,它将拒绝自上次保存以来对数据库表所做的所有更改

Sql server 尝试开发一个“保存”按钮,如果在单击“退出”之前未单击该按钮,它将拒绝自上次保存以来对数据库表所做的所有更改,sql-server,vb.net,Sql Server,Vb.net,我正在试图找到一种创建保存按钮的方法。我的项目的工作方式是,用户在使用文本框(通过插入查询完成)填写信息后,只需单击一个按钮,即可在数据库表中创建一条记录,如果需要,用户还可以返回文本框进行更改(通过更新查询完成)但是,如果稍后用户没有单击“保存”按钮并继续退出/关闭表单,则我希望自上次单击保存后拒绝对数据库所做的所有更改。基本上,我希望insert查询被撤消,任何更新查询都被撤消,或者如果在insert查询之后而不是在更新查询之后单击了save,则撤消更新查询 有很多方法可以做到这一点。以下是

我正在试图找到一种创建保存按钮的方法。我的项目的工作方式是,用户在使用文本框(通过插入查询完成)填写信息后,只需单击一个按钮,即可在数据库表中创建一条记录,如果需要,用户还可以返回文本框进行更改(通过更新查询完成)但是,如果稍后用户没有单击“保存”按钮并继续退出/关闭表单,则我希望自上次单击保存后拒绝对数据库所做的所有更改。基本上,我希望insert查询被撤消,任何更新查询都被撤消,或者如果在insert查询之后而不是在更新查询之后单击了save,则撤消更新查询

有很多方法可以做到这一点。以下是几点:

1) 如果用户未单击“保存”退出页面,请运行“删除查询”以删除插入的行


2) 当用户四处单击时,插入/更新临时表。当用户单击“保存”时,将更改提交到实际表。

如果您要花时间进行向下投票,您至少可以解释一下为什么您没有提供帮助。您所描述的与他们单击按钮时保存有什么不同(当他们没有按钮时什么也不做,只是退出)?当用户单击“保存”按钮时,为什么不在数据库中插入/更新内容?比实现撤销功能容易得多。BindingSources等是为这些场景而设计的。@Nathan,我相信Pluto和Alex建议您更改您的解决方案,以便在用户单击“保存”按钮之前不会进行任何插入/更新。在那之前把所有的东西都记在记忆里。量两次,剪一次。datatable还可以用于回滚更改。当这些更改生效时,如果程序崩溃会发生什么?然后删除函数或将暂存表数据提交到实际表将不会发生,然后程序员将不得不编写代码来处理这些场景。