clientdataset过滤超多数字的问题请教? |
缺席
|
zgjob
一般會員 發表:5 回覆:4 積分:1 註冊:2008-05-22 發送簡訊給我 |
这是我的一个过滤代码:过滤分类下面的商品目录功能。用的是treeview控件
procedure TGoodsList.tv1Click(Sender: TObject); var curbh:string; s:TStringList; begin try curbh:=copy(tv1.Selected.Text,0,pos('-',tv1.selected.text)-1); finally end; s:=Tstringlist.Create; with tan_dm.dsp1 do begin close; commandtext:=''; if rb1.checked=true then commandtext:='select distinct goodsid from hmgoods a inner join 项目 b on a.hmid=b.id and rtrim(b.hmbh) like ''' curbh '%' '''' else commandtext:='select distinct goodsid from fggoods a inner join 分柜 b on a.fgid=b.id and rtrim(b.hmbh) like ''' curbh '%' ''''; open; first; s.Clear; while not eof do begin s.Add(Fields[0].AsString); next; end; close; //以上是先读出分类表中包含的商品ID并写入s,商品ID是5位数的数字; end; {with dsp1} if s.Count<=0 then s.Add('0'); if copy(tv1.selected.text,0,4)<>'全部' then begin tan_dm.dsGoods.Filtered:=false; tan_dm.dsGoods.Filter:='id in (' s.DelimitedText ')';//过滤 tan_dm.dsGoods.Filtered:=True; end else begin tan_dm.dsGoods.Filtered:=false; end; end; 以上为过滤代码。 当一个分类下面有超过2500多个品种时,报就报错 Access violation at address 4DAEA1BF in module 'midas.dll'.read of address 00000034. 这是为什么???请教各位了!! 分类下面的品种没有超过2500多个时,能正常过滤,不会报错。 每个商品ID位数是5位数。 |
zgjob
一般會員 發表:5 回覆:4 積分:1 註冊:2008-05-22 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |