我想做一个根据Edit中的汉字来查询汉字对应的字段,结果在 fieldbyname('Chinese').AsString := tmpVar提示:invalid variant type conversion 请大家帮我看一下问题所在!(我在数据库中定义字段chinese为Alpha类型代码如下:
procedure TForm1.button1Click(Sender: TObject);
var
len ,count,i:integer;
tmpVar :Variant;
trans,tmpStr :Widestring;begin
with table1 do
begin
table1.open();
indexfieldnames := 'Chinese';
setkey;
i := 1;
count := 1;
trans := Edit1.text;
len := length(trans);
tmpVar := VarArrayCreate([1,1],varVariant); //创建一个变量数组
while (i<len) do
begin
tmpStr := Copy(trans,i,2);
tmpVar[Count]:= tmpstr;
Inc(count);
VarArrayRedim(tmpVar,count);
i := i + 2;
fieldbyname('Chinese').AsString := tmpVar;
if gotokey then
memo1.text := memo1.text+fieldbyname('Address').Asstring;
end;
end;
end;
procedure TForm1.button1Click(Sender: TObject);
var
len ,count,i:integer;
tmpVar :Variant;
trans,tmpStr :Widestring;begin
with table1 do
begin
table1.open();
indexfieldnames := 'Chinese';
setkey;
i := 1;
count := 1;
trans := Edit1.text;
len := length(trans);
tmpVar := VarArrayCreate([1,1],varVariant); //创建一个变量数组
while (i<len) do
begin
tmpStr := Copy(trans,i,2);
tmpVar[Count]:= tmpstr;
Inc(count);
VarArrayRedim(tmpVar,count);
i := i + 2;
fieldbyname('Chinese').AsString := tmpVar;
if gotokey then
memo1.text := memo1.text+fieldbyname('Address').Asstring;
end;
end;
end;
fieldbyname('Chinese').AsString := tmpVar;
一个Variant能赋给string吗
试试fieldbyname('Chinese').AsVariant := tmpVar;能不能满足你的要求
or
fieldbyname('Chinese').AsString := tmpVar[count];
希望再给点提示!谢谢
只要一成功,马上给分