表中有一个字段是varchar(73)类型的 里面存放着如01,02,03,04,05,06 等等数据,放置方法如(010203040506)我现在需要检查这些数据中有没有大于20的值,应该怎样做呢
目前我做的是把他们用ADOQUERY SELECT 出来,放到一个A(STRING)变量里,后面确实想不起来怎么做了,哪位老大帮帮忙
目前我做的是把他们用ADOQUERY SELECT 出来,放到一个A(STRING)变量里,后面确实想不起来怎么做了,哪位老大帮帮忙
VAR
X:INTEGER;
MYSTR:=ADOQUERY.FIELDBYNAME('ZIDUAN').ASSTRING;
WHILE(X<LENGTH(TRIM(MYSTR)))DO
BEGIN
IF (STRTOINT(COPY(MYSTR,X,2))>20) THEN
BEGIN
SHOWMESSAGE('SOME ONE BIGGER THAN 20');
BREAK;
END
ELSE
X:=X+2;
END;
************************************************
对不起,是我的网络慢,若有雷同请勿责怪
************************************************
procedure TForm1.Button1Click(Sender: TObject);
var
iid, x:integer; mystr:string;
begin
x:=0;
memo1.Lines.Add('开始校验。');
With ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select id,ltyn from Lty');
open;
first;
while not ADOQuery1.Eof do
begin
Mystr:=fieldbyname('ltyn').AsString;
iid:=fieldbyname('id').AsInteger;
WHILE(X<LENGTH(TRIM(MYSTR)))DO
BEGIN
IF (STRTOINT(COPY(MYSTR,X,2))>30) THEN
BEGIN
memo1.Lines.Add('chuxiancuowu '+inttostr(iid));
BREAK;
END
ELSE
X:=X+2;
END;
end;
next;
end;
memo1.Lines.Add('结束');
end;
BREAK;
END;
X:=X+2;
试试
************************************************
对不起,是我的网络慢,若有雷同请勿责怪
若答案正确请尽早揭帖
************************************************