我有个问题,是要用Delphi的locate实现不确定字段的查找问题,主要是我经常要用到动态查找、动态更新。我的作法如下:
procedure updata(db1,db2:TDataset;keys:TStrings);//用db1去更新db2,关键字段名在keys中
var i:integer;
    strKeys:string;
    v:Variant;
begin
  strKeys:='';
  v:=VariantArrayCreate([0,keys.count-1],VarVariant);
  for i:=0 to keys.count-1 do begin
    if i=keys.count-1 then
      strKeys:=strKeys+keys[i]
    else
     strKeys:=strKeys+keys[i]+';';
    v[i]:=db1.FieldByName(keys[i]).value;
  end;
  if db2.locate(strKeys,v,[]) then //这一步是关键,但是会出现Variant数据类型转换异常
    .....
end;不知哪位在虾可以帮助解决这个问题,我的Email是[email protected]