var
MaxID: string;
ID : string;implementation{$R *.dfm}procedure TForm4.Edit4Exit(Sender: TObject);
begin
if (Edit4.Text='') then
begin
showmessage('该项不能为空,请输入班别');
Edit4.SetFocus;
end
else
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from T_Class where F_Class='''+Edit4.Text+'''');
ADOQuery2.Open;
if ADOQuery2.RecordCount>0 then
begin
ID := ADOQuery2.FieldByName('F_ClassID').AsString;
end
else
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select Max(F_ClassID) as aa from T_Class');
ADOQuery2.Open;
MaxID := ADOQuery2.FieldByName('aa').AsString;
MaxID := IntToStr(StrToInt(MaxID)+1);
showmessage(MaxID); //这里出错!!
end;
end;
end;注: F_ClassID 是T_Class 表中的一个字段,为string 类型
MaxID: string;
ID : string;implementation{$R *.dfm}procedure TForm4.Edit4Exit(Sender: TObject);
begin
if (Edit4.Text='') then
begin
showmessage('该项不能为空,请输入班别');
Edit4.SetFocus;
end
else
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select * from T_Class where F_Class='''+Edit4.Text+'''');
ADOQuery2.Open;
if ADOQuery2.RecordCount>0 then
begin
ID := ADOQuery2.FieldByName('F_ClassID').AsString;
end
else
begin
ADOQuery2.Close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('select Max(F_ClassID) as aa from T_Class');
ADOQuery2.Open;
MaxID := ADOQuery2.FieldByName('aa').AsString;
MaxID := IntToStr(StrToInt(MaxID)+1);
showmessage(MaxID); //这里出错!!
end;
end;
end;注: F_ClassID 是T_Class 表中的一个字段,为string 类型
is not a valid integer value'. 注:MaxID=3
StrToInt中的MaxId='3 ' 后面的一串不知道是不是空格,如果是空格的话用
MaxID=IntToStr(StrToInt(Trim(MaxID))+1); 就好了, 如果是别的什么东东就得想办法把它去掉, 你跟踪一下看看