如何解决找到跳转到错误的记录
我有一个最奇怪的问题:一个数据集。找到他找到一条记录并跳转到该记录的位置,但该记录不符合条件。
这是我的代码:
procedure TFZoekEmp.edtZoekNaamEmpChange(Sender: TObject);
var
lFound:boolean;
begin
lFound:=FDataSet.Locate('EMNM',edtZoekNaamEmp.Text,[loCaseInsensitive,loPartialKey]);
if lFound then
WWMessageDlg('Looking for:'+edtZoekNaamEmp.Text+'/found:'+ FDataset.fieldbyname('EMNM').asstring,mtWarning,[mbOK],0)
else
WWMessageDlg('Looking for:'+edtZoekNaamEmp.Text+'/but alas,not found.',0);
end;
这是输出的屏幕截图:
这是一个简单的过程,可以在叠加图中输入员工名称(屏幕截图中的“ Zoek员工”窗口),然后跳转到包含搜索字符串的第一条记录(主窗体的网格在左侧)
我正在使用Delphi 10.3。 FDataset是一个TADODataset,它通过动态创建的SQL字符串连接到本地Access数据库。除了该SQL语句中的WHER之外,还通过数据集的“过滤器”属性进一步过滤数据集。
有一个选项可以更改网格的排序顺序。当它实际上是按名称排序时(ORDER BY子句),一切正常。当按生日排序时,会发生上述结果。
我可以不再信任TDataset的“定位”过程了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。