缺少数据更新

时间:2009-10-02 18:31:52

标签: c# sql-server-2005 clickonce missing-data

我在妻子办公室的CRM上没有更新数据时出现问题。

情景:

  1. 用户加载应用。
  2. 来自数据库的数据填充主视图。
  3. 用户打开编辑屏幕。
  4. 填充数据以获取正确的详细信息。
  5. 用户更改值(在任何字段上)。
  6. 保存按钮变为活动状态 数据发生了变化。
  7. 用户点击“保存”。
  8. 数据在编辑屏幕上刷新(以证明更新已完成),原始数据将恢复到编辑屏幕。
  9. 已停用保存按钮。
  10. 查看主数据网格, 编辑屏幕后面的数据 似乎已更新。
  11. 关闭编辑屏幕,新数据  在主视图中仍然可见。
  12. 点击刷新和主数据  恢复原始内容。
  13. 所有更改都将丢失。

    如果我在我的开发网络上运行完全相同的场景,则数据库IS会更新。

    那么这两种环境有什么不同?办公室有一个域名。我正在使用SQL身份验证,所以它应该没关系。我正在为我的测试数据库服务器运行带有MS SQL 2005 EE VM的Win2003 EE,它模拟办公室数据库服务器。我使用生产数据库的备份来填充我的开发数据库。我已经仔细检查了SQL用户权限。事件查看器或数据库服务器上的SQL日志中没有错误。所有工作站都是Win7 Ent。我在家里运行x64,办公室机器是x86。浏览我机器上的代码并不能提供任何见解,因为一切都在我的开发环境中运行。

    该应用程序自2008年12月以来一直存在。我每月更新一次 ClickOnce部署。

    我需要运行SQL事件探查器以获取更多信息。除此之外,我很无能为力。真的发生了什么?为什么它在dev中起作用而不是在prod中?有关如何追踪此事的任何建议吗?

    THX,

    伊万

1 个答案:

答案 0 :(得分:0)

启动应用程序后,但在单击保存之前,重命名sql server management studio中的表。查看应用程序是否抛出有关表不存在的错误。如果没有收到错误,则C#不会尝试更新数据库。如果您收到错误重命名表,请在表上添加一个触发器以写入日志表,重新启动应用程序,然后尝试保存。检查日志表,它插入了什么?从那里开始。