Delphi FrieDAC 大数据处理

Delphi FrieDAC 大数据处理

大数据处理, 要用到Array DML

插入数据

先要设置插入的数据量

FQuery1.Params.ArraySize := 1000;

for index:= 0 to 1000 -1 to

begin

FQuery1.Params.ParamByName.AsString[index] := '值';

FQuery1.Params.ParamByName.AsString[index] := '值';

FQuery1.Params.ParamByName.AsString[index] := '值';

end;

FQuery1.Execute(FQuery1.Params.ArraySize);

查询数据

用到Locate 返回Booled

loCaseInsensitive = 不区分大小写

loPartialkey =部分搜索

单个值搜索

FQuery1.Locate(字段名,值,[loCaseInsensitive, loPartialkey])

多个值搜索

FQuery1.Locate(字段名:字段名, VarArrayof(['值, 值']),[loCaseInsensitive])

搜索完直接定位到搜索数据。可以直接提取

LocateEx 增强版搜索

前面两个参数一样,后面多加了几个参数

[lxoFromCurrent = 从当前记录的位置开始搜索

lxoBackward = 从当前记录的位置开始往前搜索

lxoCheckOnly = 只搜索看看要搜索的数据存在不存在 而不改变当前记录位置

lxoNoFetchAll = 只搜索在TFQuery 数据中的数据而不要把所有的数据从后端数据库中取出再搜索

]

搜索 1000到2500 之间

sExpr := '字段名 >= ' + '''' + '1000' + '''' + 'and' + '字段名 <= ' + '''' + '2500' + '''',

如果搜索1000 到2500 之间为直

if (FQuery1.LocateEX(sExpr, [lxoPartialkay, lxoFormCurrent])) then

begin

把数据输出到Listview

end;l