0

我在妻子办公室的 CRM 中遇到数据未更新的问题。

设想:

  1. 用户加载应用程序。
  2. 来自数据库的数据填充主视图。
  3. 用户打开编辑屏幕。
  4. 为正确的详细信息项填充数据。
  5. 用户更改值(在任何字段上)。
  6. 保存按钮会随着数据的变化而激活。
  7. 用户点击保存。
  8. 数据在编辑屏幕上刷新(以证明更新已完成),原始数据恢复到编辑屏幕。
  9. 保存按钮被禁用。
  10. 查看编辑屏幕后面的主数据网格,数据似乎已更新。
  11. 关闭编辑屏幕,新数据在主视图中仍然可见。
  12. 单击刷新,主数据恢复为原始内容。

所有更改都将丢失。

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

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

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

我需要运行 SQL Profiler 来获取更多信息。除此之外,我一无所知。到底发生了什么?为什么它在 dev 而不是 prod 中工作?有关如何追踪此问题的任何建议?

谢谢,

伊万

4

1 回答 1

0

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

于 2009-10-02T18:39:43.480 回答