毕业论文遇到一个问题
声明过程:procedure inserta(a:string;b:string);
procedure Tmain.inserta(a:string;b:string);
begin
try
 strtoint(b);
end;
main.adocommand1.parameters.paramvalues['a']:=a;
main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
那么需要在此处加判断:如果b为空则出现提示信息,请问这个判断请句该怎么写?

解决方案 »

  1.   

    可以用:
    try
      main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
    except
      ......
    或者
    if main.acocommand1.parameters.paramvalues['b'].astring ='' then ....
      

  2.   

    procedure Tmain.inserta(a:string;b:string);
    begin
     if Trim(B)='' then
     begin
        showmessage('b为空');
        Abort;
     end;
     try
     
       strtoint(b);
     except
       ShowMessage('B不是数字');
       Abort;
    end;
    main.adocommand1.parameters.paramvalues['a']:=a;
    main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
      

  3.   

    main.adocommand1.parameters.paramvalues['a']:=a;
    if main.acocommand1.parameters.paramvalues['b'].astring ='' then 
      application.messagebox('','')
    else
      main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
      

  4.   

    to firetoucher(蹈火者)、ljccyzy(飞云) 
    语句是没有问题可以通过了,但是当我录完记录的时候无论是记录存在与不存在都会出现错误
    我在调用过程的窗体里例用一个按钮的click事件是这样写的:
    var
      a:string;
      b:string;
    begin
      a:=self.edit1.text;
      b:=self.edit2.text;
      main.ADOQueryCp.Close;   //错误的提示就在这里
      main.ADOQueryCp.Open;
      main.ADOQueryCp.ExecSQL;
    提示的内容为:"is not a valid integer value"这是怎么回事儿,要怎么来解决呢?
    如果分不够的话我可以开贴再加,谢谢了:)
      

  5.   

    可能是由下面的原因引起的,如果edit1.text或者edit2.text的内容为:'1.002'这种形式的话
    就会出问题,例如:
    执行下面的语句
    showmessage(inttostr(strtoint('1.003')));
    应该改为
    showmessage(floattostr(strtofloat('1.003')));
    我觉得你应该用strtofloat(b),不要用strtoint(b)
      

  6.   

    to wdonghai(小王) 
    我里面的内容不是1.003这种类型的
    在数据库里定义的就是int型而不是float,不知到底是为什么会出现问题