|
balingxu :
关于模糊查询 偶作了个模糊查询,费了很大的力气现在虽然能查结果出来,但还是会报错好像是动态链接库mrvcrt.dll问题,我的代码sh这样的,大家帮我看看 str:='name like "%'+Edit2.Text+'%"'; a:=edit2.Text; ListView1.Items.Clear; n:=Map1.Layers.Count; for i:= 2 to n do begin try lyr:=Map1.Layers.Item[i]; except end; try ds:=Map1.DataSets.Add(miDataSetLayer,lyr,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam); except end ; try ftrs:=lyr.Search(str,a); except //edit2.Text:='0'; end; if ftrs.Count > 0 then begin for j:=1 to ftrs.Count do begin ftr:=ftrs.Item[j]; with ListView1.Items.Add do begin Caption:=ftr.Name; end; end; end; end; 错误我觉得应该在ftrs:=lyr.Search(str,a)这句,那个a起初我设置的是emptyparam,也报那个错
fit4u :
我的没有问题 你参考一下吧 不是ftrs:=lyr.Search(str,a)的问题 begin lyr:=map1.layers.item[2]; myda:= map1.datasets.add(midatasetlayer,lyr,'my',lyr.keyfield,emptyparam,lyr.name,emptyparam,false); { ftrs:=lyr.AllFeatures; ftr:=ftrs.Item[1]; rvs:=map1.DataSets.Item[2].Rowvalues[ftr]; for j:= 1 to rvs.Count do begin name:= Map1.DataSets.item[2].Fields.item[j].Name; end; } str1:='西藏自治区'; str :='名称 like"' + '%' + str1 + '%' + '"'; selFeatures := map1.Layers.Item[2].Search(str, emptyparam); showmessage(inttostr(selfeatures.count)); selfeature:=selfeatures.item[1]; ftrs:=map1.layers.item[1].searchwithinfeature(selfeature,misearchtypecentroidwithin); searchresultslist.clear; for i:=1 to ftrs.count do begin searchResultsList.Items.Add('第'+inttostr(i)+'纪录'); ftr :=ftrs.Item[i]; rvs:=ftr.layer.datasets.Item[1].Rowvalues[ftr]; // for j := 1 to flds1.Count do for j := 1 to rvs.Count do begin // str := flds1.Item[j].Name; name:= Map1.DataSets.item[1].Fields.item[j].Name; rv := rvs.Item[j]; values:=rv.value; values:=name+' : '+values; searchResultsList.Items.Add(values); end; end; |