按保存的时候
会出现这个这个
但是实际上数据时输进去了
看了下,应该是这边错掉输入表后的操作
 bitbtn2.OnClick(sender);   //调用取消按钮清空记录
  Form19.getspbh(sender);     //得到下一单据编号
  Edit2.Text:=spbh;          //显示编号值
procedure TForm19.getspbh(sender:Tobject);    //得到销售单编号
begin
  adoquery1.Last;
  if adoquery1.RecordCount=0 then
    spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XS'+formatfloat('0000000',1)
  else
    spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XS'+formatfloat('0000000',strtoint(copy(adoquery1.Fields[1].asstring,13,7))+1);
end;
我分不多
麻烦大家给我看下吧

解决方案 »

  1.   

    (copy(adoquery1.Fields[1].asstring,13,7))看这个是什么值?
      

  2.   

    strtoint(copy(adoquery1.Fields[1].asstring,13,7))+1); 我只是猜测,上面的代码是将字符转成int  ,  你调试下看下copy(adoquery1.Fields[1].asstring,13,7)) 出来是不是一个可转换为整型的字符串
      

  3.   

    copy(adoquery1.Fields[1].asstring,13,7)出问题了。。提示的意思是‘’不能转化为整型。
    你先判断一下这个值是不是整型再做运算就可以了。
      

  4.   

    TryStrToInt
    说 not enough catual parameters呢
      

  5.   

    我的意思是用这个函数判断你取出来的那部分是不是数字,是数字这个函数返回true,参数是要转换的字符串和接收转换后数字的变量
    如果是数字你在处理别的东西
      

  6.   

    怎么用 TryStrToInt 判断
    我不怎么会哎
    发现还是不行
      

  7.   

    procedure TForm1.btn1Click(Sender: TObject);
    var
      i: Integer;
    begin
      if TryStrToInt('123', i) then
      begin
        ShowMessage('是数字 ' + IntToStr(i));
      end
      else begin
        ShowMessage('不是数字');
      end;
    end;
      

  8.   

    strtoint里边的值可能是空,你可以调试下,看看
      

  9.   

    procedure TForm19.getspbh(sender:Tobject);    //得到销售单编号 
    begin 
      adoquery1.Last; 
      if adoquery1.RecordCount=0 then 
        spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XS'+formatfloat('0000000',1) 
      else 
        spbh:=formatdatetime('yyyymmdd',datetimepicker1.Date)+'XS'+formatfloat('0000000',strtointdef(copy(adoquery1.Fields[1].asstring,13,7),0)+1); 
    end; 
      

  10.   

    检查一下copy(adoquery1.Fields[1].asstring,13,7)
      

  11.   

    adoquery1.Fields[1].asstring
    应该是这个不够长,然后copy过来的是空串,然后转换成int出错
    不一定用trystrtoint自己直接包个try except不就ok了,错误的时候日志输出以下,看看数据是不是不符合预期的
      

  12.   

    取的值是空的,无法转换。加个try except。