我正在使用 D2009、dbGo (ADO) 将现有的 Advantage Database Server 应用程序转换为 SQL Server 2005。有时我会遇到错误 row cannot be found for locating
.我用谷歌搜索过,根据结果我需要设置每个 ADOTable 的更新标准属性并将光标位置设置为动态。我这样做了,但有时我仍然遇到同样的错误。所有的表都有主键,所以我一直在使用
Query.Requery();
Query.Locate('ID',ID,[]);
之前更新记录以避免错误,但必须有更好的解决方案。有任何想法吗?还是我应该继续使用 MyDAC 或 Zeoslib?
最佳答案
dbGO/ADO 是访问 MS-SQL 数据库的自然方式。您确定这是确切的错误消息吗?因为我从未听说过,但我听说过“行不能为 位于 为 更新 ”。
该错误消息表明 ADO 找不到要删除或更新的记录。最常见的原因是表没有定义主键,或者表中至少没有列的内容都是唯一的。
确保在 MS-SQL 表中定义主键。
关于sql-server - 找不到用于定位的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790493/