dbExpress“其他用户未找到或更改记录”

时间:2012-03-19 15:38:26

标签: delphi dbexpress

使用dbExpress时,如何找到“其他用户未找到或更改记录”错误的原因?

如何找到失败的SQL语句(带有实际参数值)?

1 个答案:

答案 0 :(得分:4)

  • 确保编译器使用Debug DCU。

  • 在单位TSQLResolver.DoExecSQL中的程序db\Provider的第一行设置断点

  • 运行导致错误消息的操作(例如,修改数据感知组件中的记录)

  • 如果调试器停止,则可以查看生成的SQL命令

  • 检查SQL语句中是否存在可能导致错误的条件

此时,只能检查语句中的常量表达式,例如......',其中Field1为null,Field2 = 0'。在DoExecSQL中,SQL语句使用占位符(?)作为参数值,因此如果常量表达式条件没有显示任何帮助,请继续调试:

  • 要查看实际参数值,请在函数TSQLConnection.Execute中设置断点(在单元SqlExpr中)并逐步执行参数评估循环。