Delphi array of TVarRec类型使用方法
array of TVarRec //代表传递的动态数组中元素的类型可变,数组大小可变个数可变,网上这个真找不到可以使用的教程。自己摸索了很久才找到了使用方法。
正常都是像下面这样手工添加
Dataset.AppendRecord([1, '张三', 33, True]);
如果要自动添加要怎么操作,查了一下AppendRecord的参数是(TVarRec[])
const Values: array of const
const Values: array of TVarRec
TVarRec 可变类型可变长度 参数。
用法如下:
var
param:array of TVarRec;
SetLength(param,4);
param[0].VType:=VTInteger;
param[0].VInteger:=18;
param[1].VType:=vtPChar;
param[1].VpChar:=PAnsiChar('TestBinary');
// param[2].VType:=VtInteger;
param[2].VInteger:=288;
param[3].VType:=VtBoolean;
param[3].VBoolean:=FALSE;
dsTemp.AppendRecord(param);
循环体中用法:
var
param: array of TVarRec;
--------------------------------------
SetLength(param,Dataset.FieldCount);
for k := 0 to Dataset.FieldCount - 1 do
begin
sValue := jf.AsObject.GetValues.AsArray[k].AsString; //取DATA节点下的字段值
param[K].VType:=vtPWideChar;
param[K].VPWideChar:=PChar(sValue);
// Dataset.FieldByName(ColList[k]).AsString := sValue;
// Dataset.Fields[k].Value:=sValue; //上下两种速度是一样的
end;
Dataset.AppendRecord(param);
本文来自博客园,作者:IT情深,转载请注明原文链接:https://www.cnblogs.com/wh445306/p/16751919.html