全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1364
推到 Plurk!
推到 Facebook!

clientdataset过滤超多数字的问题请教?

缺席
zgjob
一般會員


發表:5
回覆:4
積分:1
註冊:2008-05-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-12-17 16:01:28 IP:110.189.xxx.xxx 訂閱
这是我的一个过滤代码:过滤分类下面的商品目录功能。用的是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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-04-30 07:58:35 IP:112.195.xxx.xxx 訂閱
高手们!知道的请讲一下哟!
系統時間:2024-04-26 19:47:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!