关于' 'is not a valid integer value的问题
我在编写仓库管理系统,在插入数据的时候先对表中已有的商品进行判断,假如是空,则直接插入,假如插入商品已经存在,则把要插入商品的数量添加到已有的数量上去,下面是我的代码
with query1 do
begin
close;
sql.Clear;
sql.Add('insert into ruku(入库单号,商品名称,入库数量,入库日期,入库人,操作员)');//插入ruku表操作
sql.Add('values(:x1,:x2,:x3,:x4,:x5,:x6)');
ParamByName('x1').AsString:=edit1.Text;
ParamByName('x2').AsString:=edit2.Text;
ParamByName('x3').AsString:=edit3.Text;
ParamByName('x4').AsString:=edit4.Text;
ParamByName('x5').AsString:=edit5.Text;
ParamByName('x6').AsString:=edit6.Text;
try
execsql;
except
showmessage('数据库错误');
end;
end;
with query1 do
begin
close;
sql.clear;
sql.add('select * from kucun where 商品名称=:x2');//查询kucun表中商品是否存在
parambyname('x2').AsString:=edit2.Text;
open;
end;
k:=query1.Fields[0].AsString;
if trim(k)='' then//判断
with query1 do
begin
close;
sql.Clear;
sql.Add('insert into kucun(商品名称,商品数量)');
sql.Add('values(:x2,:x3)');
parambyname('x2').AsString:=edit2.Text;
parambyname('x3').AsString:=edit3.Text;
try
execsql;
except
showmessage('数据库错误');
end
end
else
pro_num:=strtoint(edit3.Text)+strtoint(query1.Fields[0].AsString);//这里我想把插入的商品数量edit3.text的值和查询到kucun表中商品数量相加,再把kucun表更新,单步调试在这里报错' 'is not a valid integer value,我不知道哪里除了问题
with query1 do
begin
close;
sql.Clear;
sql.Add('updata kucun')
end;
showmessage('数据已经保存');
query1.Close;
edit1.Clear;
edit2.Clear;
edit3.Clear;
edit4.Clear;
edit5.Clear;
edit6.Clear;
query2.Active:=false;
query2.Active:=true;
end;