控件:DBGIRD “计算”按纽
字段:
原有数 TISHU
输入数 CHOUTI
var
xb:integer;
xc:integer;
begin
adotable1.open;
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger;adotable1.first;
while not adotable1.Eof doif xb>xc then
application.messagebox(‘出错’,'检查')
else
adotable1.Next
end;为什么执行后死机???
如果不要IF后面的代码,ADOTABLE1.NTE正常。
请大家帮我一下???
字段:
原有数 TISHU
输入数 CHOUTI
var
xb:integer;
xc:integer;
begin
adotable1.open;
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger;adotable1.first;
while not adotable1.Eof doif xb>xc then
application.messagebox(‘出错’,'检查')
else
adotable1.Next
end;为什么执行后死机???
如果不要IF后面的代码,ADOTABLE1.NTE正常。
请大家帮我一下???
xb:integer;
xc:integer;
begin
adotable1.open;
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger;adotable1.first;
while not adotable1.Eof doif xb>xc then
begin
application.messagebox(‘出错’,'检查');
exit;//退出循环
end;
else
adotable1.Next
end;
xb:integer;
xc:integer;
begin
adotable1.open;
adotable1.first;
while not adotable1.Eof do
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger;
if xb>xc then
begin
application.messagebox(‘出错’,'检查');
exit;//退出循环
end
else
adotable1.Next
end;
可以了,在试试
var
xb:integer;
xc:integer;
begin
adotable1.open; adotable1.first;
while not adotable1.Eof do begin
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger; if xb>xc then begin
application.messagebox(‘出错’,'检查'); abort
end; adotable1.Next
end;
end;
如果判断条件不满足应该跳到next一句;
你用断点跟踪的结果怎样?
你的代码可以执行,程序不死,可是不能判断???
xb:integer;
xc:integer;
begin
adotable1.open; adotable1.first;
while not adotable1.Eof do begin
xb:=adotable1.FieldByName('chouti').Asinteger;
xc:=adotable1.FieldByName('tishu').Asinteger; if xb>xc then
begin
application.messagebox(‘出错’,'检查');
Break;
end; adotable1.Next
end;
end;
为什么我想取得DBGRID的字段的一个值为什么不行?采用什么方法???
xb:=DBGRID1.FIELDBYNAME('CHOUTI').ASINTETER;
为什么提示这句话有错误????
试一下:xb:=STRTOINT(DBGRID1.FIELDBYNAME('CHOUTI').ASSTRING)