数据过滤的问题,请各位帮忙(100分)

  • 主题发起人 主题发起人 z9945
  • 开始时间 开始时间
Z

z9945

Unregistered / Unconfirmed
GUEST, unregistred user!
我要将一个字段中前几位相同的数据过滤出来.如在A字段有1001111,100222222222,10054672
等,我要将前三位为100的数据过滤出来 ,怎么办?
 
filter := 字段A like '100%'
 
可以用变通的方法,用query.add.SQL语句先把所有的记录搜出来:
select A form table;
再用
qchar:=quwry.FieldByName('tablename').asstring
if copy(qchar,1,3)=100 then
......
 
是ORACLE数据库吗?
如果是就可以这样:...where substr(A,1,3)='100'
就行了!
 
是sql2000

另外我在ONFILTERRECORD事件用COPY不行
 
sqlserver给你个程序段where部分
procedure Tfrmquery.BitBtn1Click(Sender: TObject);
var
strI:string;
begin
strSQL:='SELECT * FROM Manager ';
if rdbname.Checked then
begin
strI:=edtName.Text;
if strI<>'' then
begin
if rdbJQ.Checked then
strI:='where Manager_Name='''+strI+''''
else
strI:='where Manager_Name like ''%'+stri+'%''';
end;
end;
if rdbUser.Checked then
begin
strI:=edtuser.Text;
if stri='' then
begin
if rdbjq.Checked then
stri:='where username='''+stri+''''
else
stri:='where username like ''%'+stri+'%''';
end;
end;
strSQL:=strSQL+strI;
self.ModalResult:=mrok;
end;
 
多人接受答案了。
 
后退
顶部