一个关于locate的问题(100分)

  • 主题发起人 主题发起人 qzq
  • 开始时间 开始时间
Q

qzq

Unregistered / Unconfirmed
GUEST, unregistred user!
我在query中先用locate定位一条记录,然后进入编辑状态进行修改,
在给其他字段赋值时没有问题,但在给某个日期型字段赋值时,老是出错,
显示‘某某 不是合法的日期',其中’某某‘就是我在locate中要查找的
字段的值,这是为什么?
而且我发现,当有多个日期型字段要赋值时,如果locate中的查找字段
是表中的第一个字段时,则在给第一个日期型字段赋值时出错,如果locate中的查找字段是表中的第二个字段时,则在给第二个日期型字段赋值时出错,
我发现query中没有findkey,gotokey的方法,只能用locate来定位,
但这个错误使我无法先找到某条记录再进行修改,我试过不用locate,直接
自己找到那条记录,修改没有问题。
我的query是设成了requestlive,这有没有关系?但如果不这样的话,
我又不能对其数据集进行修改。或者是delphi的bug?我的delphi4没有
打过补丁,因为我手头一时找不到,这到底该怎么办呢?
 
先确认一下是否找到了记录。if Locate(...) then 修改
 
To Crab:
我看过,locate都找到了记录,返回值都是true.
 
用table的locate吧
我一直用table
没有任何问题
 
贴出来看看
 
用FILTER吧
 
我不知道你的问题是怎么出的,我用下面的代码工作正常,
with query1 do begin
if Locate('Name','aaa',[]) then begin
edit;
FieldByName('date1').AsString := '1900.1.1';
FieldByName('date2').AsString := '1900.1.1';
FieldByName('birth').AsString := '1900.1.1';
post
end
end
我用的是 D4 /Update Pack 3, 数据库是 Paradox
 
接受答案了.
 
后退
顶部