c# - 仅当值已更改时才将值存储到数据库

标签 c# mysql winforms

我正在使用 Visual C# Express 和 MySQL 创建一个数据库应用程序。问题是,如果数据实际上已经更改,我只想将数据从 C# 表单存储到数据库,我现在这样做的方式是,当单击“保存”按钮时,表单中的所有字段都是保存到数据库中,无论它们是否已更改。

我想出的解决方案是检查表单中的每个字段是否已更改,然后相应地更改 SQL 命令,即

//when the details are loaded into the form
String strOriginalName = txtFirstname.Text;

//when the save button is checked
if(strOriginalName != txtFirstname.Text)
{
String strUpdate = "UPDATE table SET firstName = txtFirstname.Text";
MySqlCommand cmdUpdate = new MySqlCommand(strUpdate, connection);
cmdUpdate.ExecuteNonQuery();
} 

还有其他人有更好或替代的解决方案吗?感谢您的帮助,如果我在任何部分含糊不清,请告诉我,我可以尝试进一步解释。

最佳答案

例如,我建议使用一些 OR Mapper (NHibernate)。它会为你做这一切。此外,这将免费为您提供缓存和其他很酷的东西:)

为 future 吸取的教训是无价的,您的下一个应用程序将增长得越来越快。 :)

关于c# - 仅当值已更改时才将值存储到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4564167/

相关文章:

c# - 从 VC++ 通过 COM 实例化 C# 对象的类未注册错误

c# - 如何获得本地 WinNT 组的所有成员?

mysql - 在表中查找具有相同值的列的条目

php - mysql 的 jQuery 模式用户删除选项

c# - Windows 8 - 花哨的进度条 API?

c# - C# 中是否有支持故障安全迭代的良好 IList 和 IDictionary 实现?

c# - 我们如何使用第三方 API 为 Webapi 创建单元测试

javascript - 使用 php 和 sql-query 的 AJAX POST 只能运行一次

c# - 如何可视化各种 DateTime 格式的显示方式?

c# - 打开 "known file type"进入自定义应用程序的运行实例 - .NET