毕业论文遇到一个问题
声明过程: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为空则出现提示信息,请问这个判断请句该怎么写?
声明过程: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为空则出现提示信息,请问这个判断请句该怎么写?
try
main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
except
......
或者
if main.acocommand1.parameters.paramvalues['b'].astring ='' then ....
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);
if main.acocommand1.parameters.paramvalues['b'].astring ='' then
application.messagebox('','')
else
main.acocommand1.parameters.paramvalues['b']:=strtoint(b);
语句是没有问题可以通过了,但是当我录完记录的时候无论是记录存在与不存在都会出现错误
我在调用过程的窗体里例用一个按钮的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"这是怎么回事儿,要怎么来解决呢?
如果分不够的话我可以开贴再加,谢谢了:)
就会出问题,例如:
执行下面的语句
showmessage(inttostr(strtoint('1.003')));
应该改为
showmessage(floattostr(strtofloat('1.003')));
我觉得你应该用strtofloat(b),不要用strtoint(b)
我里面的内容不是1.003这种类型的
在数据库里定义的就是int型而不是float,不知到底是为什么会出现问题