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