用户突然说,选择不了料品的库位信息,不能保存提交单据。单据天天都要操作,理论上不应该有这样的问题发生,多数是用户不在状态中,不知道做过什么导致的。于是亲自操作一番,也是没有记录出来!自感又是一个烧脑的问题。
分析,仅仅是一个查询的应用,没有记录出来,就是条件被破坏了嘛。利用SQL Server Profiler把SQL语句跟踪出来后。发现一个条件是这样的。
将料品的name作为查询条件,这样的做法很少见。让人难以理解的是,要查询的是仓库的列表,把料品的name作为条件,这是什么逻辑?这个参照查询的窗体存在很久了,一直是正常运行的。这次异常是什么原因呢?工程人员在编制料品资料时,在输入法打开状态下输入了一个空格。U9在不久前有过一次大升级打补丁,识别不了这样的空格,以一个?号替换。这就非常清晰了吧。查询条件错了!当然没有记录出来。将料品中的空格重新处理一下,恢复正常。